-
-
Notifications
You must be signed in to change notification settings - Fork 290
Set subfiling vfd default enabled=ON #5518
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
base: develop
Are you sure you want to change the base?
Conversation
Windows. Subfiling VFD option appears only when parallel is enabled and not on Windows. Turned on sorting for brief lists in doxygen pages.
…ling_default_enabled
if (HDF5_ENABLE_SUBFILING_VFD) | ||
if (WIN32) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this check is still needed. cmake_dependent_option
just hides the option, but someone could still set it on Win32.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to know for sure - as I believe the documentation states:
"condition": A boolean expression involving other CMake options. It must evaluate to true or false.
Of course NOT WIN32 might not evaluate correctly. Then we would need to add if NOT WIN32 around the whole block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I mean is that CMake hides the option, but I don't think that means it's actually gone. I think it's similar to just being marked with mark_as_advanced()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes it hides the option but the condition forces a value if it is hidden
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran " ccmake -DMPIEXEC_PREFLAGS:STRING="-n;6" -DHDF5_ENABLE_SUBFILING_VFD=ON ../lrk-hdf5", then configured without any other changes. The subfiling vfd option was missing and libhdf5.settings reported Subfiling VFD OFF.
The last I tried to do this, nvhpc had issues due to |
CMakeLists.txt
Outdated
@@ -835,32 +836,18 @@ set (HDF5_SRC_INCLUDE_DIRS | |||
${HDF5_SRC_INCLUDE_DIRS} | |||
${H5FD_SUBFILING_DIR} | |||
) | |||
option (HDF5_ENABLE_SUBFILING_VFD "Build Parallel HDF5 Subfiling VFD" OFF) | |||
cmake_dependent_option(HDF5_ENABLE_SUBFILING_VFD "Build Parallel HDF5 Subfiling VFD" ON "HDF5_ENABLE_PARALLEL AND NOT WIN32" OFF) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, it looks like this syntax for the condition is only supported as of CMake 3.22 and otherwise has to be a semicolon-separated list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we are still on 3.18 then we need to use the semis
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will fix this.
Yes, *** An error occurred in MPI_Init_thread |
Yep, this is related to the description I added for #5415. One issue is that the tools VFD fallback mechanism attempts to initialize and use the Subfiling VFD for tests where the file can't be opened with the sec2 VFD (the file doesn't exist, it's in a different VFD's format, etc.) which normally wouldn't be a problem, except that (I believe) NVHPC's MPI seems to have issues when NULL is passed for the arguments to There's also the question of testing. Subfiling is tested in the daily VFD build workflow currently, but we only run the subfiling-specific tests and none of the tools tests, for example, so is that enough testing? The last issue is that turning on Subfiling by default means threads becomes a default requirement for parallel builds. Probably not really a big issue, but something to consider. |
and option available when parallel is enabled and not on win32.
Also turned on sorting for brief lists in doxygen files.