Commit fac76def authored by Doak, Peter W.'s avatar Doak, Peter W.
Browse files

fix hdf5 on SPOCK with cray's compiler

parent b700a636
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ module load cmake/3.21 # at least 3.21 is required for ROCM
module load ninja
module load magma/2.6.1
module load fftw
module load cray-hdf5/1.12.0.6
module load cray-hdf5/1.12.0.7
module load cray-fftw/3.3.8.10
module load cray-libsci/21.06.1.1
module load cray-mpich/8.1.7
+14 −7
Original line number Diff line number Diff line
@@ -9,6 +9,9 @@
set(DCA_EXTERNAL_LIBS "" CACHE INTERNAL "")
set(DCA_EXTERNAL_INCLUDE_DIRS "" CACHE INTERNAL "")

set(DCA_EXTERNAL_IO_LIBS "" CACHE INTERNAL "")
set(DCA_EXTERNAL_IO_INCLUDE_DIRS "" CACHE INTERNAL "")

################################################################################
# Lapack
if (NOT DCA_HAVE_LAPACK)
@@ -39,10 +42,11 @@ list(APPEND DCA_EXTERNAL_LIBS ${LAPACK_LIBRARIES})

################################################################################
# HDF5
find_package(HDF5 COMPONENTS C CXX)

list(APPEND DCA_EXTERNAL_LIBS ${HDF5_CXX_LIBRARIES})
list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS} ${HDF5_INCLUDE_DIR})
find_package(HDF5 REQUIRED COMPONENTS C CXX)
# append the library target not HDF_LIBRARIES, in modern cmake you need the target.
# on spock this is all that will work with cray's hdf5
list(APPEND DCA_EXTERNAL_IO_LIBS hdf5::hdf5_cpp)

################################################################################
# ADIOS2
@@ -50,8 +54,8 @@ if (DCA_WITH_ADIOS2)
set(DCA_HAVE_ADIOS2 FALSE CACHE INTERNAL "")
find_package(ADIOS2)
if (ADIOS2_FOUND)
  list(APPEND DCA_EXTERNAL_LIBS ${ADIOS2_LIBRARIES})
  list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${ADIOS2_INCLUDE_DIRS})
  list(APPEND DCA_EXTERNAL_IO_LIBS ${ADIOS2_LIBRARIES})
  list(APPEND DCA_EXTERNAL_IO_INCLUDE_DIRS ${ADIOS2_INCLUDE_DIRS})
  set(DCA_HAVE_ADIOS2 TRUE CACHE INTERNAL "")
  #message("ADIOS2: libraries ${ADIOS2_LIBRARIES}")
endif()
@@ -76,5 +80,8 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/libs/simplex_gm_rule)
list(APPEND DCA_EXTERNAL_LIBS ${GNUPLOT_INTERFACE_LIBRARY})
list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${GNUPLOT_INTERFACE_INCLUDE_DIR})

# message("DCA_EXTERNAL_LIBS = ${DCA_EXTERNAL_LIBS}")
# message("DCA_EXTERNAL_INCLUDE_DIRS = ${DCA_EXTERNAL_INCLUDE_DIRS}")
list(APPEND DCA_EXTERNAL_LIBS ${DCA_EXTERNAL_IO_LIBS})
list(APPEND DCA_EXTERNAL_INCLUDE_DIRS ${DCA_EXTERNAL_IO_INCLUDE_DIRS})

message("DCA_EXTERNAL_LIBS = ${DCA_EXTERNAL_LIBS}")
message("DCA_EXTERNAL_INCLUDE_DIRS = ${DCA_EXTERNAL_INCLUDE_DIRS}")
+0 −1
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ public:
  __DEVICE__ __HOST__ inline int ld() const {
    return leadingDimension();
  }

  __DEVICE__ __HOST__ std::pair<int, int> size() const {
    return size_;
  }
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@
    #define __CONSTANT__
  #endif
#elif defined(DCA_HAVE_HIP)
  #ifdef __CUDA_CC__
  #ifdef __HIP_PLATFORM_AMD__
    #define __HOST__ __host__
    #define __DEVICE__ __device__
    #define __CONSTANT__ __constant__
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

add_library(dca_hdf5 STATIC hdf5_reader.cpp hdf5_writer.cpp)
target_include_directories(dca_hdf5 PUBLIC ${HDF5_INCLUDE_DIRS})
target_link_libraries(dca_hdf5 PUBLIC ${DCA_LIBS} ${HDF5_LIBRARIES})
target_link_libraries(dca_hdf5 PUBLIC ${DCA_LIBS} ${HDF5_CXX_LIBRARIES})

message("CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN : ${CMAKE_CXX_STANDARD_LIBRARIES}")

Loading