-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Intel QuickAssist? #455
Comments
This is certainly an interesting development, |
Many modern CPU have Intel Quick Assist acceleration so you don't have to shell out the cost for one of those high end cards to reap the benefits of Quick Assist. Access to the API is provided at the OS level weather it be Windows or Linux. I assume ZStd would provide alternate compression/decompression methods which took advantage of Quick Assist and leave it to the developer to determine if the system supports Quick Assist and to implement those alternate methods so one could take advantage of the hardware provided by the system. |
After doing a bit more reading up on QuickAssist I realized my initial assumptions were incorrect. Initially I thought the QuickAssist hardware provides computing offload that could be utilized by ZSTD, but it appears that Intel have implemented their own compression algorithm inside QuickAssist, so it does not appear to be usable by any other algorithms. |
@bcronje @Cyan4973 Thats not fully true, afaik QAT could be used to offload parts of the zstd stack... Such as hashing.
|
Sorry if I'm reviving the dead. It uses LZ4 to compress the data, then partially decompresses the output, converts it to zstd sequences and a literal buffer and then recompresses those using the zstd (software) library. Source: https://github.com/intel/QATzip/blob/master/utils/qzstd.c#L211 Must compress less than level 1 and I can't imagine it being faster. I tried a similar trick with Snappy when I was learning Zstandard. Fun, but pretty much useless. Fully decompressing and re-compressing is usually both better and faster. |
Are there any plans to support Intel QuickAssist inside ZSTD? The performance that the QuickAssist adapters like these bring to the table is really compelling, especially in real time compression scenarios.
The text was updated successfully, but these errors were encountered: