-
Notifications
You must be signed in to change notification settings - Fork 28
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
zstd compression support #160
Comments
Would indeed be great. The problem is getting a working build for all platforms. The 4.9 builds in https://github.com/Alexander-Barth/NetCDF_jll.jl/releases/tag/NetCDF-v400.902.9%2B0 are missing Windows for instance. There is some hope that a newer HDF5 build will help, see JuliaPackaging/Yggdrasil#4511 (comment). |
Thanks for pushing for this in hdf5-feedstock! Fingers crossed this is available at some point soon |
Turns out not to have helped at all... :( |
As a test, I have enabled zstandard in these these builds, if you want to try (it is not yet available in Yggdrasil): https://github.com/Alexander-Barth/NetCDF_jll.jl/releases/tag/NetCDF-v400.902.19%2B0 NetCDF is now build with these options:
Presumably some functions like these need to be wrapped:
|
We now ship libnetcdf v4.9. Since zstd compression support was brought up, and is not supported yet, I'll rename the issue to that. JuliaPackaging/Yggdrasil#5319 has quite some helpful information, on what might be needed to make it work. |
I'm curious if |
I think zstd should now work. Details in JuliaGeo/NCDatasets.jl#116 (comment) |
Is there somewhere a quick example of how to use zstd vs zlib? At the moment I'm just doing
|
Ah yes, the underlying NetCDF build should now support zstd, but it's not yet available in the API. For zlib there is |
It may be useful for me to demonstrate how the HDF5.jl interface currently works: julia> using HDF5, H5Zzstd, H5Zbitshuffle
julia> h5open("test.h5","w", libver_bounds=v"1.8", meta_block_size=4096) do h5f
write_dataset(
h5f,
"zstdcomp_dataset",
rand(1:10, 256, 256),
chunk=(16,16),
filters=[BitshuffleFilter(), ZstdFilter(9)]
)
end
julia> run(`h5ls -v test.h5`)
Opened "test.h5" with sec2 driver.
zstdcomp_dataset Dataset {256/256, 256/256}
Location: 1:195
Links: 1
Modified: 2023-06-02 13:55:05 EDT
Chunks: {16, 16} 2048 bytes
Storage: 524288 logical bytes, 37866 allocated bytes, 1384.59% utilization
Filter-0: HDF5 bitshuffle filter; see https://github.com/kiyo-masui/bitshuffle-32008 OPT {0, 4, 8, 0, 0, 0}
Filter-1: Zstandard compression: http://www.zstd.net-32015 OPT {9}
Type: native long
Process(`h5ls -v test.h5`, ProcessExited(0)) See https://juliaio.github.io/HDF5.jl/stable/interface/filters/ |
NetCDF v4.9 was released last month: https://github.com/Unidata/netcdf-c/releases/tag/v4.9.0. Are there any plans to update NetCDF_jll.jl (which currently includes v4.8) and this package accordingly? I see @Alexander-Barth already created https://github.com/Alexander-Barth/NetCDF_jll.jl with builds from v4.9. Would love to start using the new zstandard compression available in v4.9... 😄
The text was updated successfully, but these errors were encountered: