4 ms·
The data is compressed with GDeflate, not deflate. The single stream is designed to use the parallelism of a GPU. It is described here: https://github.com/micr
by mgerdts 3y ago
The data is compressed with GDeflate, not deflate. The single stream is designed to use the parallelism of a GPU. It is described here:
https://github.com/microsoft/DirectStorage/blob/main/GDeflate/GDeflate/README.md https://github.com/microsoft/DirectStorage/blob/main/GDeflat...
The GPU decompression benchmark I linked earlier allows you to specify a single file that it will compress with GDeflate (and zlib for comparison). The numbers presented in the docs that come with the benchmark and presented elsewhere are consistent with my own runs using a source file that is highly compressible.
Part of the trick of achieving this speedup is to read the data fast enough. I don't know of any NVMe drive that can reach full speed with a queue depth of 1. While running the benchmark in a windows VM with a GPU passed through, on the linux host I observed that the average read size was about 512k and the queue depth was sometimes over 30.