Skip to content

Commit 0a5f594

Browse files
Yohann/host perlmutter (#287)
* Initial host config for Perlmutter. * workaround for perlmutter * re-enable gcc pragma --------- Co-authored-by: Yohann Dudouit <dudouit1@llnl.gov>
1 parent ec26694 commit 0a5f594

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Set up the tpls
2+
set( GEOSX_TPL_ROOT_DIR ${CMAKE_SOURCE_DIR}/../../thirdPartyLibs CACHE PATH "")
3+
set(GEOSX_TPL_DIR ${GEOSX_TPL_ROOT_DIR}/install-${CONFIG_NAME}-release CACHE PATH "")
4+
5+
set(CAMP_DIR ${GEOSX_TPL_DIR}/raja CACHE PATH "")
6+
set(RAJA_DIR ${GEOSX_TPL_DIR}/raja CACHE PATH "")
7+
set( RAJA_ENABLE_VECTORIZATION OFF CACHE BOOL "" FORCE)
8+
9+
set(ENABLE_UMPIRE ON CACHE BOOL "")
10+
set(UMPIRE_DIR ${GEOSX_TPL_DIR}/chai CACHE PATH "")
11+
12+
set(ENABLE_CHAI ON CACHE BOOL "")
13+
set(CHAI_DIR ${GEOSX_TPL_DIR}/chai CACHE PATH "")
14+
15+
set(ENABLE_CALIPER ON CACHE BOOL "")
16+
set(CALIPER_DIR ${GEOSX_TPL_DIR}/caliper CACHE PATH "")
17+
18+
set(ENABLE_ADDR2LINE ON CACHE BOOL "")
19+
20+
# Cuda options
21+
set(ENABLE_CUDA ON CACHE BOOL "")
22+
set(CUDA_TOOLKIT_ROOT_DIR /opt/nvidia/hpc_sdk/Linux_x86_64/22.7/cuda/11.7 CACHE STRING "")
23+
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING "")
24+
set(CMAKE_CUDA_COMPILER ${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc CACHE STRING "")
25+
26+
set(CMAKE_CUDA_ARCHITECTURES "80" CACHE STRING "")
27+
set(CUDA_ARCH sm_80 CACHE STRING "")
28+
set(CMAKE_CUDA_STANDARD 14 CACHE STRING "")
29+
set(CMAKE_CUDA_FLAGS "-restrict -arch ${CUDA_ARCH} --expt-extended-lambda -Werror cross-execution-space-call,reorder,deprecated-declarations" CACHE STRING "")
30+
set(CMAKE_CUDA_FLAGS_RELEASE "-O3 -DNDEBUG -Xcompiler -DNDEBUG -Xcompiler -O3" CACHE STRING "")
31+
set(CMAKE_CUDA_FLAGS_RELWITHDEBINFO "-g -lineinfo ${CMAKE_CUDA_FLAGS_RELEASE}" CACHE STRING "")
32+
set(CMAKE_CUDA_FLAGS_DEBUG "-g -G -O0 -Xcompiler -O0" CACHE STRING "")
33+
34+
set(CHAI_CUDA_FLAGS "-arch ${CUDA_ARCH}" CACHE STRING "" FORCE)
35+
36+
# Uncomment this line to make nvcc output register usage for each kernel.
37+
# set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --resource-usage" CACHE STRING "" FORCE)
38+
39+
# GTEST options
40+
set(ENABLE_GTEST_DEATH_TESTS OFF CACHE BOOL "")
41+
set(gtest_disable_pthreads ON CACHE BOOL "")
42+
43+
# Documentation
44+
set(ENABLE_UNCRUSTIFY OFF CACHE BOOL "" FORCE)
45+
set(ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set(CONFIG_NAME "perlmutter-gcc@11.2.0" CACHE PATH "")
2+
3+
set(COMPILER_DIR /opt/cray/pe/craype/2.7.20)
4+
set(CMAKE_C_COMPILER ${COMPILER_DIR}/bin/cc CACHE PATH "")
5+
set(CMAKE_CXX_COMPILER ${COMPILER_DIR}/bin/CC CACHE PATH "")
6+
7+
# C++ options
8+
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -target-accel=nvidia80 " CACHE STRING "")
9+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -target-accel=nvidia80 ${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "")
10+
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -target-accel=nvidia80 -g " CACHE STRING "")
11+
12+
include(${CMAKE_CURRENT_LIST_DIR}/perlmutter-base.cmake)

0 commit comments

Comments
 (0)