Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/nvhpc-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ jobs:
echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ env.NVERDOT }}/cuda/${{ env.CUDAVERDOT }}/lib64:/opt/nvidia/hpc_sdk/Linux_x86_64/${{ env.NVERDOT }}/compilers/lib" >> $GITHUB_ENV
echo "DESTDIR=/tmp" >> $GITHUB_ENV

# disable subfiling_vfd until MPI_Init_thread error on a NULL communicator with nvhpc is fixed.
- name: CMake Configure
shell: bash
run: |
Expand All @@ -58,6 +59,7 @@ jobs:
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_SUBFILING_VFD=OFF \
-DMPIEXEC_NUMPROC_FLAG:STRING=-np \
-DMPIEXEC_MAX_NUMPROCS:STRING=2 \
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
Expand Down
21 changes: 4 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ else()
set (HDF5_EXTERNALLY_CONFIGURED 1)
endif()
endif()
include (CMakeDependentOption)
#-----------------------------------------------------------------------------
# Instructions for use : Sub-Project Build
#
Expand Down Expand Up @@ -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;NOT WIN32" OFF)
if (HDF5_ENABLE_SUBFILING_VFD)
if (WIN32)
Copy link
Collaborator

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.

Copy link
Contributor

@byrnHDF byrnHDF May 6, 2025

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.

Copy link
Collaborator

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().

Copy link
Contributor

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

Copy link
Collaborator Author

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.

message (FATAL_ERROR " **** Subfiling is not supported on Windows **** ")
endif ()
if (NOT HDF5_ENABLE_PARALLEL)
message (FATAL_ERROR "Subfiling VFD requires a parallel HDF5 build")
else ()
# Make sure we found MPI_Comm_split_type previously
if (NOT H5_HAVE_MPI_Comm_split_type)
message (FATAL_ERROR "Subfiling VFD requires MPI-3 support for MPI_Comm_split_type")
endif ()
if (NOT H5_HAVE_MPI_Comm_split_type)
message (FATAL_ERROR "Subfiling VFD requires MPI-3 support for MPI_Comm_split_type")
endif ()

# Subfiling requires thread operations
if (NOT Threads_FOUND)
message (FATAL_ERROR "Subfiling requires thread operations support")
endif ()

set (H5_HAVE_SUBFILING_VFD 1)
# IOC VFD is currently only built when subfiling is enabled
set (H5_HAVE_IOC_VFD 1)

if(NOT H5_HAVE_SUBFILING_VFD EQUAL 1)
set (HDF5_ENABLE_SUBFILING_VFD OFF CACHE BOOL "Build Parallel HDF5 Subfiling VFD" FORCE)
endif()
endif()

message (VERBOSE "LINK_LIBS=${LINK_LIBS}")
Expand Down
2 changes: 1 addition & 1 deletion doxygen/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ SORT_MEMBER_DOCS = YES
# this will also influence the order of the classes in the class list.
# The default value is: NO.

SORT_BRIEF_DOCS = NO
SORT_BRIEF_DOCS = YES

# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then Doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
Expand Down
Loading