@@ -23,9 +23,6 @@ endif()
2323# =================================================================================================
2424# PROJECT AND VERSION
2525include (CMakeDependentOption )
26- include (CheckSymbolExists )
27- include (CheckLibraryExists )
28- include (CheckFunctionExists )
2926include (GNUInstallDirs )
3027
3128cmake_policy (SET CMP0048 NEW )
@@ -56,16 +53,18 @@ endif()
5653
5754find_package (PkgConfig )
5855
59- # ##############################################################################
60- # Define the paths for static libraries and executables
61- # ##############################################################################
62- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
63- ${cp2k_BINARY_DIR} /lib
64- CACHE PATH "Single output directory for building all libraries." )
65-
6656# Search for rocm in common locations
67- foreach (__var ROCM_ROOT CRAY_ROCM_ROOT ORNL_ROCM_ROOT CRAY_ROCM_PREFIX
68- ROCM_PREFIX CRAY_ROCM_DIR)
57+ foreach (
58+ __var
59+ ROCM_ROOT
60+ HIP_ROOT
61+ HIP_PATH
62+ CRAY_ROCM_ROOT
63+ ORNL_ROCM_ROOT
64+ CRAY_ROCM_PREFIX
65+ ROCM_PREFIX
66+ CRAY_ROCM_DIR
67+ ROCM_PATH)
6968 if ($ENV{${__var} })
7069 list (APPEND CMAKE_PREFIX_PATH $ENV{__var} )
7170 set (ROCM_PATH
@@ -75,7 +74,7 @@ foreach(__var ROCM_ROOT CRAY_ROCM_ROOT ORNL_ROCM_ROOT CRAY_ROCM_PREFIX
7574endforeach ()
7675
7776option (CMAKE_POSITION_INDEPENDENT_CODE "Enable position independent code" ON )
78- option (BUILD_SHARED_LIBS "Enable shared library" ON )
77+ option (BUILD_SHARED_LIBS "Enable shared library" OFF )
7978option (TM_USE_FFTW "Enable fftw support" OFF )
8079option (TM_USE_MPI "Enable MPI support" OFF )
8180option (TM_USE_CUDA "Enable QUDA support" OFF )
@@ -93,15 +92,13 @@ set(TM_ENABLE_ALIGNMENT
9392set_property (CACHE TM_ENABLE_ALIGNMENT PROPERTY STRINGS "auto" "none" "16" "32"
9493 "64" )
9594
96- option (TM_BGL_DRAM "use BGL dram window (BGL only!)" ON )
9795option (TM_USE_OPTIMIZATION "enable optimisation" ON )
9896option (TM_USE_GAUGECOPY "Enable use of a copy of the gauge field" ON )
9997option (TM_USE_HALFSPINOR "Use a Dirac Op. with halfspinor exchange" ON )
10098option (TM_USE_TSPLITPAR "Enable timeslice-splitted communications" ON )
10199option (TM_USE_QPHIX "enable QPhiX" OFF )
102100option (TM_USE_SHMEM "Use shmem API" OFF )
103101option (TM_USE_QUDA "Enable QUDA support" OFF )
104- option (TM_USE_GPROF "Enable gprof profiler" OFF )
105102option (TM_ENABLE_WARNINGS "Enable all warnings" ON )
106103option (TM_ENABLE_TESTS "Enable tests" OFF )
107104
@@ -203,7 +200,7 @@ if(TM_USE_HDF5)
203200endif ()
204201
205202if (TM_USE_LEMON)
206- find_package (Clemon REQUIRED )
203+ find_package (lemon REQUIRED )
207204endif ()
208205
209206find_package (CLime REQUIRED )
@@ -231,18 +228,20 @@ endif()
231228
232229if (TM_USE_CUDA OR QUDA_TARGET_CUDA)
233230 enable_language (CUDA )
231+
232+ # placeholder for nvhpc for future use
234233 if (TM_USE_NVHPC)
235234 find_package (NVHPC REQUIRED COMPONENTS CUDA MATH HOSTUTILS NCCL )
236235 else ()
237236 find_package (CUDAToolkit REQUIRED )
238237 endif ()
239238endif ()
240239
240+ # We may want to use hip-cuda for development or debugging purposes especially
241+ # if AMD GPU access is not possible. So allow it
242+
241243if (TM_USE_HIP OR QUDA_TARGET_HIP)
242244 enable_language (hip )
243-
244- # we may want to use hip-cuda for development or debugging purposes especially
245- # if AMD GPU access is not possible. So allow it
246245 if (TM_USE_CUDA_HIP)
247246 find_package (CUDA )
248247 endif ()
@@ -274,49 +273,34 @@ if(TM_USE_FFTW)
274273endif ()
275274
276275if (TM_USE_DDalphaAMG)
277- find_package (DDAlphaAMG REQUIRED )
278- endif ()
279-
280- # gprofiler
281-
282- if (TM_USE_GPROF)
283- set (PROFILE_FLAGS "-pg;-g" )
284- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "powerpc|powerpc64" )
285- list (APPEND PROFILE_FLAGS "-qfullpath" )
286- endif ()
287- add_compile_options ($<BOOL :$<COMPILE_LANGUAGE :C >:$PROFILE_FLAGS >)
276+ find_package (DDalphaAMG REQUIRED )
288277endif ()
289278
290279if (TM_ENABLE_WARNINGS)
291280 add_compile_options ($<$<COMPILE_LANG_AND_ID :C ,GNU >:-Wall >
292281 $<$<COMPILE_LANG_AND_ID :CXX ,GNU >:-Wall >)
293282endif ()
294283
295- # check for the presence of clock_gettime in libc or librt
296- check_symbol_exists (clock_gettime "time.h" TM_CLOCK_GETTIME )
297- check_library_exists (rt clock_gettime "" TM_CLOCK_GETTIME_IN_RT )
298- check_function_exists (fseeko TM_FSEEKO )
299-
300284# set the parallelization
301285
302286if (TM_USE_MPI)
303- if (TM_MPI_DIMENSION EQUAL "1" )
287+ if (TM_MPI_DIMENSION STREQUAL "1" )
304288 # T parallelisation
305289 set (TM_PARALLELT ON )
306- elseif (TM_MPI_DIMENSION EQUAL "2" )
290+ elseif (TM_MPI_DIMENSION STREQUAL "2" )
307291 # XT parallelisation
308292 set (TM_PARALLELXT ON )
309- elseif (TM_MPI_DIMENSION EQUAL "3" )
293+ elseif (TM_MPI_DIMENSION STREQUAL "3" )
310294 set (TM_PARALLELXYT ON )
311295 # XYZ parallelisation
312- elseif (TM_MPI_DIMENSION EQUAL "4" )
296+ elseif (TM_MPI_DIMENSION STREQUAL "4" )
313297 # timeslice-splitted communications
314298 set (TM_PARALLELXYZT ON )
315- elseif (TM_MPI_DIMENSION EQUAL "X" )
299+ elseif (TM_MPI_DIMENSION STREQUAL "X" )
316300 set (TM_PARALLELX ON )
317- elseif (TM_MPI_DIMENSION EQUAL "XY" )
301+ elseif (TM_MPI_DIMENSION STREQUAL "XY" )
318302 set (TM_PARALLELXY ON )
319- elseif (TM_MPI_DIMENSION EQUAL "XYZ" )
303+ elseif (TM_MPI_DIMENSION STREQUAL "XYZ" )
320304 set (TM_PARALLELXYZ ON )
321305 else ()
322306 set (TM_PARALLELXYZT ON )
@@ -346,7 +330,6 @@ if(DEFINED GIT_EXE AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
346330 ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE )
347331 message (STATUS "git hash ${TM_SHA} " )
348332else ()
349- # set(TM_GIT_BRANCH "release v${SIRIUS_VERSION}")
350333 set (TM_SHA
351334 "https://github.com/etmc/tmLQCD/releases/tag/rel-${TMLQCD_VERSION_MAJOR} -${TMLQCD_VERSION_MINOR} "
352335 )
0 commit comments