Conversation
|
So far looks great! I recommend we create a ticket that lists plugins that still need to use old HDF5 APIs via defines. |
|
Almost certainly no. For most of its life szip was inconveniently licensed.
Truly open source alternatives for it have emerged only recently say within
the last few years.
It was closely associated with the hdf5 library however because I think
NASA had a lot of initial interest in it. And they were a big early user
and sponsor of hdf5.
My understanding is it excels mostly at integer or integer like data and
not floating point data.
So my belief is that no llnl SIM codes have ever used it.
That said it may be worth checking with Kathryn Mohror to ask if she is
aware of ever having encountered it in some of their work on SCR.
…On Mon, Dec 8, 2025, 1:24 PM Cyrus Harrison ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In src/tools/dev/scripts/bv_support/bv_hdf5.sh
<#20752 (comment)>:
> if [[ "$DO_ZLIB" == "yes" ]]; then
info "Configuring HDF5 with ZLib support."
- cf_zlib="--with-zlib=\"${VISITDIR}/zlib/${ZLIB_VERSION}/${VISITARCH}\""
+ cmk_opts="${cmk_opts} \
I think it is unlikely that a user will understand they have an szip file
and be able to create the lib and set up the env vars.
That said, if these files are very rare -- I am open to dropping support.
Mark do you know if LLNL sim codes used szip?
—
Reply to this email directly, view it on GitHub
<#20752 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLUUZD2QSA5W6OL6GAOGE34AXT7ZAVCNFSM6AAAAACOL3TFYOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKNJUGEZDCMRVGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
I was trying to build Xdmf against the one, parallel HDF5-2.0 I have installed and that fails, even after my patches for HDF5-2.0. Why? It fails because including There are a few options for situations like this...
|
|
To get Xdmf library to add |
|
Ok, netcdf requires more love because it a) assumes I suspect HDF5-2.0 has a bug in the API mapping macros for |
|
You might try Netcdf 4.5.0. That's what I've been using on Windows (for ease of building). I had no issues with the VisIt using this version, nor with building it against HDF5 2.0 in my test builds this week. |
So, the set of patches needed for netcdf-4.1.1 (now ~15 years old) with HDF5-2.0 is getting larger and more complex. I am close to having it working but I kinda like @biagas suggestion. @cyrush do you have strong opinions? |
|
@markcmiller86 I think we should try the new version, would be good to remove ancient patches and have same code used on windows as linux if possible. |
|
So, I was 4 patches in and apparently 2 patches away from a successful netcdf-4.1.1 build with HDF5-2.0. So, I've currently got that in this PR. I will revisit the issue before taking out of draft mode. But, for time being, I think its working now. |
|
documenting a snag on macOS: I think this logic is not quite correct because we end up with: which short circuits the mpi detection logic and creates the failure. |
|
Ok, so that is the build of HDF5-2.0.0 then via |
|
I am confused as to why those flags are getting set since they seem to be empty. I also hit issues with ADIOS2 and CGNS, here are the CGNS issues: CGNS actually has a cmake build system, but it seems we are calling cmake via make and config. I am going to try to get further w/o solving ADIOS2 or CGNS now. |
|
Silo failed as well. I think anything downstream of HDF5 that is cmake and that is not setting up MPI - or perhaps is setting it up after it looks for HDF5) is failing. I don't understand the logic for multiple versoins of hdf5 (one with mpi and one without), but could things be crossed? I |
|
resolves #20727 |
…com:visit-dav/visit into feat-mcm86-04dec25-upd-hdf5-2.0-and-friends
Fix zlib fighting error by finding ZLib before MPI.
| # Temporary install of these libs... | ||
| # qt szip vtk zlib | ||
| SET(HDF52O_BUILD_TMP /g/g11/miller86/visit/visit/build-Xdmf/my_install) |
There was a problem hiding this comment.
Is this a public location?
There was a problem hiding this comment.
Is this needed only for dane? Why is that?
There was a problem hiding this comment.
Correct...not a public location. It was for when I was first building just a portion of the TPLs involving some kind of HDF5 dependence. I have a public install of all TPLs now in 3.5.0-hdf5200 and will update the daneX.cmake files for that shortly.
| ### NOTE: Modified from build_visit output | ||
| #------- | ||
| ## | ||
| ## Turn on DDT support. | ||
| ## | ||
| VISIT_OPTION_DEFAULT(VISIT_DDT ON TYPE BOOL) | ||
| #------- | ||
|
|
There was a problem hiding this comment.
why turn DDT off now? Was this an oversight when copying the new config site in?
There was a problem hiding this comment.
Good catch Justin. Will put this back. Thanks!
|
|
||
| float** data = NULL; | ||
| int dims[3] = {1, 1, 1}; | ||
| //int dims[3] = {1, 1, 1}; |
There was a problem hiding this comment.
can we just delete this line instead of commenting it out?
There was a problem hiding this comment.
I didn't want to because I wanted it to be consistent with other portions of the file where this same coding was used including a commented out identical line.
| bounds[0] = (x < bounds[0] ? x : bounds[0]); | ||
| bounds[1] = (x > bounds[1] ? x : bounds[1]); | ||
| float y = current_tmp[0]; | ||
| float y = (rank > 1 ? current_tmp[1] : 0.0f); |
There was a problem hiding this comment.
I agree. I will revert. This was part of an AI assisted change to fix hid_t/int confusions and open/close pairings.
| if (rank < 3) | ||
| { | ||
| bounds[4] = -(bounds[1]-bounds[0])*0.5; | ||
| bounds[5] = +(bounds[1]-bounds[0])*0.5; | ||
| } | ||
| else | ||
| { | ||
| // HACK! The VTK point locator doesn't work very well with 2D objects, | ||
| // so make this appear to be 3D by using the X-coordinate. | ||
| bounds[4] = bounds[0]; | ||
| bounds[5] = bounds[1]; | ||
| } | ||
| else | ||
| { | ||
| bounds[4] = -(bounds[1]-bounds[0])*0.5; | ||
| bounds[5] = +(bounds[1]-bounds[0])*0.5; | ||
| } |
There was a problem hiding this comment.
why swap the if condition logic?
There was a problem hiding this comment.
This is supposed to handle the case where there are less than 3 dimensions (rank < 3). Looking, neither the original nor my (AI assisted) swap makes sense. The original set the Z min to minus 1/2 the X range and the Z max to plus 1/2 the X range if there rank < 3 and set Z min to X min and Z max to X max when rank >= 3. Neither of those make sense to me but neither does reversing it.
| H5Dclose(coordMetaData[i].varId); | ||
| /*H5Dclose(coordMetaData[i].varId);*/ |
There was a problem hiding this comment.
do we need to leave this comment or can we delete?
There was a problem hiding this comment.
First, unfort. we have no test data for this plugin. I think this and a few other HDF5 plugins should be wholly removed. I don't think this is being used.
That said, the actual close for coordMetaData[i].varId I think occurs elsewhere (FreeUpResources or maybe the destructor). So, there should be a note there explaining why we don't close it here and I left it in commented to suggest that. But, lemme make that clearer
| err = H5Oget_info_by_name(groupId, | ||
| objectName, | ||
| &objectInfo, | ||
| H5O_INFO_ALL, |
…com:visit-dav/visit into feat-mcm86-04dec25-upd-hdf5-2.0-and-friends
|
Re DDT support, I am not sure it matters if we keep it on for rzwhippet. |
Co-authored-by: Justin Privitera <35237779+JustinPrivitera@users.noreply.github.com>
Co-authored-by: Justin Privitera <35237779+JustinPrivitera@users.noreply.github.com>
Co-authored-by: Justin Privitera <35237779+JustinPrivitera@users.noreply.github.com>
Ensure all hdf5-dependent libraries find/use the same zlib. Modified our Find zlib to use find_package(ZLIB). Replaced use of ZLIB_LIB in DataManualExamples to ZLIB_LIBRARY to match rest of VisIt.
Add zlib patch for silo. Tweak xdmf settings.
…com:visit-dav/visit into feat-mcm86-04dec25-upd-hdf5-2.0-and-friends
|
Success! |

Description
bv_xxx.shfor some HDF5 dependent TPLsType of change
How Has This Been Tested?
Reminders:
Checklist: