oneapi-src / oneapi-src/oneAPI-samples

For DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/decompress failed to decompress .gz file

Aperta
#1,514 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug
Lingua principale
C++
Stelle
1.2k
Fork
745
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia in DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/decompress e riproduci il blocco con un file creato da Linux gzip, usando gli input allegati se disponibili. Esamina il kernel di decodifica Huffman e il relativo ciclo intorno al valore di shift segnalato. Il lavoro è completato quando l'eseguibile compilato termina e decomprime correttamente i file prodotti dall'utility gzip di Linux, non solo l'esempio del repository.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp, linux, ubuntu
Ambito
data
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.