oneapi-src / oneapi-src/oneAPI-samples
For DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/decompress failed to decompress .gz file
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 1.2k
- Forks
- 745
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Summary
I build the decompressor for gzip, but it can only decompress the file offer in the repo. Most files I compressed using cpu version gzip is not able to be decompressed.
Version
I currently using oneAPI 2022.1 and the Code Sample v0.0.51 extension for VScode to pull the code.
Environment
Ubuntu 20.04
Steps to reproduce
Use linux built-in gzip to compress a file. The compression ratio should around 4, and the size of output file should over 50MB.
Then the executable we compile with this repo to decompress the file created by linux built-in version gzip.
Observed behavior
The decompression will stuck in a while loop and will never terminate. I print out some information to help me debug the issue, and found out the bug should locate in the huffman decoding kernel.
Here is some debug log I print:
Using GZIP decompression
Decompressing '../data/gzip/log-test.log.gz' 2 times
Input file size : 677.904KB
expected output size :2706127
Launching kernels for run 0
literals_per_cycle for producer is : 1
in_count = 677904
Iteration count = 677904
literals per cycle is : 4
literal per cycle from consumer = 4
huffman shifting = 1098876287
huffman shifting = 1098876287
huffman shifting = 1098876287
huffman shifting = 1098876287
huffman shifting = 1098876287
Expected behavior
I expected the decompressor can decompress all the file I compressed with CPU version gzip
I attached 3 files I used to debug.
log-test.log.gz
txt-test2.txt.gz
pdf-test.pdf.gz
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/decompress y reproduce el bloqueo con un archivo creado por Linux gzip, utilizando las entradas adjuntas si están disponibles. Inspecciona el kernel de decodificación Huffman y su bucle alrededor del valor de desplazamiento indicado. Se considera terminado cuando el ejecutable compilado finaliza y descomprime correctamente los archivos producidos por la utilidad gzip de Linux, no solo el ejemplo del repositorio.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, linux, ubuntu
- Área
- data
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100