-
Notifications
You must be signed in to change notification settings - Fork 262
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
NetCDF slow writes when using the stride parameter. #1877
Comments
This has been an ongoing issue. |
Thanks for letting us know that this is an ongoing issue! I just wanted to bring something else we found to your notice as well since I thought that it might be related to this issue. Before testing the performance of strided writes on NetCDF4-classic files, I had tested the same out on NetCDF3 files by chance and got the following results:
Notice that the difference across versions isn't as stark as in the case of NetCDF4-classic files but strided writes are still slower compared to their looped versions. I just had a few questions about this:
|
The problem is that when stride > 1, both netcdf-3 and netcdf--4 currently |
Hello @DennisHeimbigner, I just wanted to double-check if there have been any updates w.r.t to this issue yet. Do you have anything planned in one of your upcoming releases to address this if not? |
Hello @DennisHeimbigner, We upgraded NetCDF to v4.8.1 and ran the repro code I sent you earlier on it and found that the issue is still there. I was wondering if there has been any update on this issue yet or if you have anything planned for a future release. |
I had hoped that Ed Hartnett would fix this. But he is swamped with other work. |
NetCDF versions in which we have observed this issue:
Platform information:
Description of the issue:
ver 4.3.3.1:
Strided: 184514115 microseconds
Looped: 336884 microseconds
ver 4.6.1:
Strided: 175383093 microseconds
Looped: 340540 microseconds
ver 4.7.3:
Strided: 5841009 microseconds
Looped: 370361 microseconds
The code attached writes a 5184 x 228 x 40 matrix to a NetCDF file with dimensions: 5184 x 228 X (unlimited), using the nc_put_vars_double() function of NetCDF by:
a. Using the stride parameter i.e. specifying the stride vector as (1, 1, 5).
b. By looping along the z-axis and iterating the starting points of the writes as (0, 0, i * 5) while keeping the stride vector as (1, 1, 1).
NetCDF_slow_stided_writes-main.zip
The text was updated successfully, but these errors were encountered: