Analyzation of GPU accelarated compression algorithms

OData support
Szántó Péter
Department of Measurement and Information Systems

In my MSc thesis work paper I first presented a short overview of NVIDIA GPU arcitecture specifics, often used in general purpose computing applications. I discussed the general layout of GPU’s, the architecture of streaming multiprocessors, the CUDA memory hierarchy and programming model. After this I investigated the performance of a few compression methods built into possibly the two most common PC compression software. I also investigated the possible use of CUDA based FLAC audio compression algorithm for general purpose data. The selected compression methods were tested in a way that replicates conditions on the GPU, such as using greatly reduced dictionary sizes, and separating the input data into 10, 100, 1000, and 10000 smaller parts. The measurement data gained in these tests was then compared to the results of running the algorithms with their regular settings used on PCs. After these tests, I presented a short summary of the articles related to the previous GPU implementations of the first compression algorithm I studied, the LZSS algorithm. I implemented a purely global memory based LZSS CUDA kernel, and compared it to a reference code. After getting disappointing results, I shifted the focus of development to the DEFLATE algorithm used in GZIP. I presented a few simplifications compared to the original CPU implementation, and discussed possible variations to speed up the execution. I compared the execution times and compression ratios to that of the DEFLATE implementation found in 7-Zip.


Please sign in to download the files of this thesis.