-
Notifications
You must be signed in to change notification settings - Fork 160
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 of parallel decompression for fixed rate #138
Comments
Since zfp already supports parallel CUDA decompression, I assume you're referring to the OpenMP implementation of We have plans to add support for both fixed and variable rate decompression over the coming months. It is likely that this feature will be available sometime early next year, even though our primary focus will be on CUDA and HIP. |
Indeed @lindstro we are looking for decompressing in CPUs. Do you have any reference for expecting performance for parallel decompressing on multicore CPUs? Throughput vs Number of cores. |
Also will the fixed rate parallel cpu is planned to be supported by the python zfpy package? |
Without having implemented it, it's difficult to guess, but we do have performance results for OpenMP parallel compression. See page 11 of this presentation. You can probably extrapolate from the ratio between serial compression and decompression throughput. |
Our immediate plans are to support parallel decompression through the high-level C API. This alone requires re-engineering zfp to keep track of block offsets (for the variable-rate modes). For decompression, such offsets also have to be embedded in the compressed stream, which is not easy to incorporate without breaking backwards compatibility. To also support this via the zfpy interface, we'd have to make additional changes to the compressed format and the Python API. I think this is doable but it would require rethinking the API before we're ready to support parallel decompression. We'll get to it eventually, but probably not right away. |
Hi @lindstro indeed decompression with variable rate sounds a complicate task but is probably simplified for fix rate compression and the python community will get a great tool when such is implemented. Already @zarr and @numcodecs supports zfp through zfpy but the decompressing speed performance might not be satisfactory for many applications I guess. |
We should be able to add OpenMP fixed-rate decompression without much effort and support it through zfpy. For a seamless integration of variable-rate decompression with zfpy, we really need to update the compressed format to allow additional metadata to be stored, which likely won't happen for at least another year. There are several other changes we'd like to make to the next version of the zfp codec that will take time to implement, and we want to make such major changes only infrequently. |
Is there any plan to support parallel decompression for fixed rate compressed arrays?
The text was updated successfully, but these errors were encountered: