-
Notifications
You must be signed in to change notification settings - Fork 446
EAMxx: Kokkos 4.5 update, fixes and workarounds for Kokkos update, Aurora support #6916
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
Changes from 34 commits
d3ccf36
b803734
ce03bcd
98bdad0
5e8e8fe
fe8f4be
311fee4
69ff997
0e7f948
ff8a396
608e68d
2c1e15f
0292883
1f54616
e84ee19
013eb67
b7ec987
9da1b24
1604057
cbde44f
e5213b9
acd9910
db10855
c5c5df1
921d223
341a7b1
0cf3ced
480dd95
db441ba
6a21177
f077eac
c8384ac
eb67265
8762ee9
d13f65a
14dcb03
ae3e033
2a0b296
140b3a3
d528c20
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
|
|
||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core") | ||
| if (compile_threaded) | ||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -fiopenmp -fopenmp-targets=spir64") | ||
| endif() | ||
|
|
||
| string(APPEND KOKKOS_OPTIONS " -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=On -DKokkos_ENABLE_EXPLICIT_INSTANTIATION=Off") | ||
|
|
||
| #set(SCREAM_MPI_ON_DEVICE OFF CACHE STRING "") | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
|
|
||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core") | ||
| if (compile_threaded) | ||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -fiopenmp -fopenmp-targets=spir64") | ||
| endif() | ||
|
|
||
| string(APPEND KOKKOS_OPTIONS " -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=On -DKokkos_ENABLE_EXPLICIT_INSTANTIATION=Off") | ||
|
|
||
| #set(SCREAM_MPI_ON_DEVICE OFF CACHE STRING "") | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
amametjanov marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,12 @@ | ||
|
|
||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core") | ||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -fsycl-device-code-split=per_kernel -fsycl-max-parallel-link-jobs=16 -Wl,--no-relax") | ||
| if (compile_threaded) | ||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -fiopenmp -fopenmp-targets=spir64") | ||
| endif() | ||
| string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -mlong-double-64 ") | ||
|
|
||
| string(APPEND KOKKOS_OPTIONS " -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=On -DKokkos_ARCH_INTEL_PVC=On -DKokkos_ENABLE_SYCL=On -DKokkos_ENABLE_EXPLICIT_INSTANTIATION=Off") | ||
| string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -mlong-double-64 -Xsycl-target-backend \"-device 12.60.7\"") | ||
| string(APPEND OMEGA_SYCL_EXE_LINKER_FLAGS " -Xsycl-target-backend \"-device 12.60.7\" ") | ||
| string(APPEND CMAKE_CXX_FLAGS " -Xclang -fsycl-allow-virtual-functions") | ||
|
|
||
| set(SCREAM_MPI_ON_DEVICE OFF CACHE STRING "") |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
|
|
||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -fsycl-device-code-split=per_kernel -fsycl-max-parallel-link-jobs=16 -Wl,--no-relax") | ||
| if (compile_threaded) | ||
| string(APPEND CMAKE_EXE_LINKER_FLAGS " -fiopenmp -fopenmp-targets=spir64") | ||
| endif() | ||
| string(APPEND KOKKOS_OPTIONS " -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=On -DKokkos_ARCH_INTEL_PVC=On -DKokkos_ENABLE_SYCL=On -DKokkos_ENABLE_EXPLICIT_INSTANTIATION=Off") | ||
| string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -mlong-double-64 -Xsycl-target-backend \"-device 12.60.7\"") | ||
|
|
||
| set(SCREAM_MPI_ON_DEVICE OFF CACHE STRING "") | ||
amametjanov marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3441,7 +3441,7 @@ | |
| <arguments> | ||
| <arg name="total_num_tasks">-np {{ total_tasks }} --label</arg> | ||
| <arg name="ranks_per_node">-ppn {{ tasks_per_node }}</arg> | ||
| <arg name="ranks_bind">-envall</arg> | ||
| <arg name="ranks_bind">--no-vni --cpu-bind $ENV{RANKS_BIND} -envall</arg> | ||
|
||
| <arg name="threads_per_rank">-d $ENV{OMP_NUM_THREADS}</arg> | ||
| <arg name="gpu_maps">$ENV{GPU_TILE_COMPACT}</arg> | ||
| </arguments> | ||
|
|
@@ -3459,9 +3459,9 @@ | |
| <modules compiler="!gnu"> | ||
| <command name="load">oneapi/eng-compiler/2024.07.30.002</command> | ||
| </modules> | ||
| <modules compiler="oneapi-ifxgpu"> | ||
| <command name="load">kokkos/4.4.01-omp-sycl</command> | ||
| </modules> | ||
| <!--<modules compiler="oneapi-ifxgpu"> --> | ||
| <!-- <command name="load">kokkos/4.4.01-omp-sycl</command> --> | ||
| <!--</modules> --> | ||
| <modules compiler="gnu"> | ||
| <command name="unload">spack-pe-gcc cmake</command> | ||
| <command name="load">gcc/10.3.0</command> | ||
|
|
@@ -3474,14 +3474,29 @@ | |
| <env name="PNETCDF_PATH">/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002</env> | ||
| <env name="LD_LIBRARY_PATH">/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002/lib:/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002/lib:$ENV{LD_LIBRARY_PATH}</env> | ||
| <env name="PATH">/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002/bin:/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002/bin:$ENV{PATH}</env> | ||
| <env name="RANKS_BIND">list:0-7,104-111:8-15,112-119:16-23,120-127:24-31,128-135:32-39,136-143:40-47,144-151:52-59,156-163:60-67,164-171:68-75,172-179:76-83,180-187:84-91,188-195:92-99,196-203</env> | ||
| </environment_variables> | ||
| <environment_variables DEBUG="TRUE"> | ||
| <env name="HYDRA_TOPO_DEBUG">1</env> | ||
| </environment_variables> | ||
| <environment_variables compiler="oneapi-ifxgpu"> | ||
| <env name="ONEAPI_DEVICE_SELECTOR">level_zero:gpu</env> | ||
| <env name="ONEAPI_MPICH_GPU">NO_GPU</env> | ||
| <env name="MPIR_CVAR_ENABLE_GPU">0</env> | ||
|
|
||
| <!-- <env name="ONEAPI_MPICH_GPU">NO_GPU</env> --> | ||
|
|
||
| <env name="MPIR_CVAR_CH4_COLL_SELECTION_TUNING_JSON_FILE"></env> | ||
| <env name="MPIR_CVAR_COLL_SELECTION_TUNING_JSON_FILE"></env> | ||
| <env name="MPIR_CVAR_CH4_POSIX_COLL_SELECTION_TUNING_JSON_FILE"></env> | ||
| <env name="UR_L0_USE_DRIVER_INORDER_LISTS">1</env> | ||
| <env name="UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS">1</env> | ||
| <env name="UR_L0_USE_COPY_ENGINE_FOR_IN_ORDER_QUEUE">1</env> | ||
| <env name="FI_PROVIDER">cxi</env> | ||
| <env name="FI_MR_CACHE_MONITOR">disabled</env> | ||
| <env name="FI_CXI_OVFLOW_BUF_SIZE">8388608</env> | ||
| <env name="PALS_PING_PERIOD">240</env> | ||
| <env name="PALS_RPC_TIMEOUT">240</env> | ||
|
|
||
| <env name="MPIR_CVAR_ENABLE_GPU">0</env> | ||
| <env name="romio_cb_read">disable</env> | ||
| <env name="romio_cb_write">disable</env> | ||
| <env name="SYCL_CACHE_PERSISTENT">1</env> | ||
|
|
@@ -3490,9 +3505,9 @@ | |
| <env name="GPU_TILE_COMPACT">/soft/tools/mpi_wrapper_utils/gpu_tile_compact.sh</env> | ||
| <env name="FI_CXI_DEFAULT_CQ_SIZE">131072</env> | ||
| <env name="FI_CXI_CQ_FILL_PERCENT">20</env> | ||
| <env name="Kokkos_ROOT">$ENV{KOKKOS_ROOT}</env> | ||
| <!--<env name="Kokkos_ROOT">$ENV{KOKKOS_ROOT}</env>--> | ||
| <env name="ZES_ENABLE_SYSMAN">1</env> | ||
| <env name="ZEX_NUMBER_OF_CCS">0:4,1:4,2:4,3:4:4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4</env> | ||
| <!--<env name="ZEX_NUMBER_OF_CCS">0:4,1:4,2:4,3:4:4:4,5:4,6:4,7:4,8:4,9:4,10:4,11:4</env>--> | ||
| </environment_variables> | ||
| <environment_variables compiler="oneapi-ifx"> | ||
| <env name="LIBOMPTARGET_DEBUG">0</env><!--default 0, max 5 --> | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -97,6 +97,7 @@ option (Kokkos_ENABLE_SERIAL "" ON) | |
| set (EAMXX_ENABLE_GPU FALSE CACHE BOOL "") | ||
| set (CUDA_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there? | ||
| set (HIP_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there? | ||
| set (SYCL_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there? | ||
|
|
||
| # Determine if this is a Cuda build. | ||
| if (Kokkos_ENABLE_CUDA) | ||
|
|
@@ -106,14 +107,21 @@ if (Kokkos_ENABLE_CUDA) | |
| set (CUDA_BUILD TRUE CACHE BOOL "" FORCE) #needed for yakl if kokkos vars are not visible there? | ||
| endif () | ||
|
|
||
| # Determine if this is a Cuda build. | ||
| # Determine if this is a HIP build. | ||
| if (Kokkos_ENABLE_HIP) | ||
| # Add CUDA as a language for CUDA builds | ||
| enable_language(HIP) | ||
| set (EAMXX_ENABLE_GPU TRUE CACHE BOOL "" FORCE) | ||
| set (HIP_BUILD TRUE CACHE BOOL "" FORCE) #needed for yakl if kokkos vars are not visible there? | ||
| endif () | ||
|
|
||
| # Determine if this is a sycl build. | ||
| if (Kokkos_ENABLE_SYCL) | ||
| #enable_language(SYCL) | ||
| set (EAMXX_ENABLE_GPU TRUE CACHE BOOL "" FORCE) | ||
| set (SYCL_BUILD TRUE CACHE BOOL "" FORCE) #needed for yakl if kokkos vars are not visible there? | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You could turn off COMPOSE here, I believe. (I'll fix the COMPOSE issues once I'm on the machine.) |
||
| endif () | ||
|
|
||
| if( NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "[Cc]lang" ) | ||
| set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -cpp") | ||
| endif() | ||
|
|
@@ -178,7 +186,7 @@ elseif(MACH) | |
| endif() | ||
|
|
||
| set(DEFAULT_SMALL_KERNELS FALSE) | ||
| if (Kokkos_ENABLE_HIP) | ||
| if (Kokkos_ENABLE_HIP OR Kokkos_ENABLE_SYCL) | ||
| set(DEFAULT_SMALL_KERNELS TRUE) | ||
| endif() | ||
|
|
||
|
|
@@ -197,7 +205,13 @@ set(NetCDF_Fortran_PATH ${DEFAULT_NetCDF_Fortran_PATH} CACHE FILEPATH "Path to n | |
| set(NetCDF_C_PATH ${DEFAULT_NetCDF_C_PATH} CACHE FILEPATH "Path to netcdf C installation") | ||
| set(SCREAM_MACHINE ${DEFAULT_SCREAM_MACHINE} CACHE STRING "The CIME/SCREAM name for the current machine") | ||
| option(SCREAM_MPI_ON_DEVICE "Whether to use device pointers for MPI calls" ON) | ||
| option(SCREAM_ENABLE_MAM "Whether to enable MAM aerosol support" ON) | ||
|
|
||
| if (Kokkos_ENABLE_SYCL) | ||
| option(SCREAM_ENABLE_MAM "Whether to enable MAM aerosol support" OFF) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure this will work as you intend. You may have to simply do
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thanks, but that one unlike SET worked. if you have a preference i will change it.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm puzzled. This option(BLAH "" ON)
message ("BLAH: ${BLAH}")
option(BLAH "" OFF)
message ("BLAH: ${BLAH}")prints Are you sure you did not have another line before those that set SCREAM_ENABLE_MAM to OFF? Maybe in the mach file? Also, was it a clean build? My preference is for using
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I found this in Professional CMake: which makes me think something else may have caused SCREAM_ENABLE_MAM=OFF in your cache file... |
||
| else() | ||
| option(SCREAM_ENABLE_MAM "Whether to enable MAM aerosol support" ON) | ||
| endif() | ||
|
|
||
| set(SCREAM_SMALL_KERNELS ${DEFAULT_SMALL_KERNELS} CACHE STRING "Use small, non-monolothic kokkos kernels for ALL components that support them") | ||
| set(SCREAM_P3_SMALL_KERNELS ${SCREAM_SMALL_KERNELS} CACHE STRING "Use small, non-monolothic kokkos kernels for P3 only") | ||
| set(SCREAM_SHOC_SMALL_KERNELS ${SCREAM_SMALL_KERNELS} CACHE STRING "Use small, non-monolothic kokkos kernels for SHOC only") | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
|
|
||
| $CIMEROOT/../components/eamxx/scripts/atmchange transport_alg=0 -b | ||
| $CIMEROOT/../components/eamxx/scripts/atmchange hypervis_subcycle_q=1 -b | ||
| $CIMEROOT/../components/eamxx/scripts/atmchange dt_tracer_factor=1 -b | ||
| $CIMEROOT/../components/eamxx/scripts/atmchange tstep_type=9 -b | ||
| $CIMEROOT/../components/eamxx/scripts/atmchange theta_hydrostatic_mode=False -b |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,14 +1,25 @@ | ||||||||||||||||||
| include(${CMAKE_CURRENT_LIST_DIR}/common.cmake) | ||||||||||||||||||
| common_setup() | ||||||||||||||||||
|
|
||||||||||||||||||
| include (${EKAT_MACH_FILES_PATH}/kokkos/serial.cmake) | ||||||||||||||||||
| include (${EKAT_MACH_FILES_PATH}/kokkos/intel-pvc.cmake) | ||||||||||||||||||
| include (${EKAT_MACH_FILES_PATH}/mpi/other.cmake) | ||||||||||||||||||
|
|
||||||||||||||||||
| set(EKAT_MPIRUN_EXE "mpiexec" CACHE STRING "" FORCE) | ||||||||||||||||||
| set(EKAT_MPI_NP_FLAG "-np" CACHE STRING "" FORCE) | ||||||||||||||||||
| set(EKAT_MPI_EXTRA_ARGS "--label --cpu-bind depth -envall" CACHE STRING "") | ||||||||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For reproducibility, please replace |
||||||||||||||||||
| set(EKAT_MPI_THREAD_FLAG "-d" CACHE STRING "") | ||||||||||||||||||
|
|
||||||||||||||||||
| set(NETCDF_C_PATH "$ENV{NETCDF_C_PATH}") | ||||||||||||||||||
| set(NETCDF_FORTRAN_PATH "$ENV{NETCDF_FORTRAN_PATH}") | ||||||||||||||||||
| set(PNETCDF_PATH "$ENV{PNETCDF_PATH}") | ||||||||||||||||||
| SET(SYCL_COMPILE_FLAGS "-std=c++17 -fsycl -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int -fsycl-unnamed-lambda") | ||||||||||||||||||
| SET(SYCL_LINK_FLAGS "-fsycl -fsycl-link-huge-device-code -fsycl-device-code-split=per_kernel -fsycl-targets=spir64_gen -Xsycl-target-backend \"-device 12.60.7\"") | ||||||||||||||||||
|
|
||||||||||||||||||
| set(CMAKE_CXX_FLAGS " -\-intel -Xclang -fsycl-allow-virtual-functions -mlong-double-64 -O3 -DNDEBUG ${SYCL_COMPILE_FLAGS}" CACHE STRING "" FORCE) | ||||||||||||||||||
| set(CMAKE_Fortran_FLAGS "-fc=ifx -O3 -DNDEBUG -DCPRINTEL -g" CACHE STRING "" FORCE) | ||||||||||||||||||
| set(CMAKE_C_FLAGS "-O3 -DNDEBUG" CACHE STRING "" FORCE) | ||||||||||||||||||
| set(CMAKE_EXE_LINKER_FLAGS " -lifcore -\-intel -Xclang -fsycl-allow-virtual-functions -lsycl -mlong-double-64 -DNDEBUG ${SYCL_LINK_FLAGS} -fortlib" CACHE STRING "" FORCE) | ||||||||||||||||||
|
|
||||||||||||||||||
| #this is needed for cime builds! | ||||||||||||||||||
| set(NETCDF_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002") | ||||||||||||||||||
| set(NETCDF_DIR "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002") | ||||||||||||||||||
| set(NETCDF_C_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002") | ||||||||||||||||||
| set(NETCDF_C "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002") | ||||||||||||||||||
|
Comment on lines
+20
to
+23
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Feels like this belongs to the machine entry, not here, e.g., <environment_variables>
<env name="NETCDF_PATH">/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002</env>
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you want to run test-all-scream, I think you do need this machine file. Which speaks to a broader issue: how to make test-all-scream use config_machines for this stuff?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am talking about the path only, i.e., this change for the first line:
Suggested change
and then repeat for others by setting the paths in the xml and just get the env var here. What's with NetCDF_C_PATH --> NETCDF_C_PATH though?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Actually, it's fine to use these cmake files for test-all-scream. But our CIME runs still end up using these files, which is something I'd like to stop. |
||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| include(${CMAKE_CURRENT_LIST_DIR}/common.cmake) | ||
| common_setup() | ||
|
|
||
| include (${EKAT_MACH_FILES_PATH}/kokkos/serial.cmake) | ||
| # kokkos sycl is on in the above file | ||
| #include (${EKAT_MACH_FILES_PATH}/kokkos/sycl.cmake) | ||
| include (${EKAT_MACH_FILES_PATH}/mpi/srun.cmake) | ||
|
|
||
| #AB flags from ekat | ||
| # -fsycl -fsycl-unnamed-lambda -sycl-std=2020 -qopenmp-simd -Wsycl-strict -fsycl-device-code-split=per_kernel | ||
|
|
||
| #SET(MPICH_DIR "/soft/restricted/CNDA/updates/mpich/52.2/mpich-ofi-all-icc-default-pmix-gpu-drop52/" CACHE STRING "") | ||
|
|
||
| set(CMAKE_CXX_FLAGS " -\-intel -Xclang -fsycl-allow-virtual-functions -mlong-double-64 -O3 -DNDEBUG" CACHE STRING "" FORCE) | ||
| set(CMAKE_Fortran_FLAGS "-fc=ifx -O3 -DNDEBUG -DCPRINTEL -g" CACHE STRING "" FORCE) | ||
| set(CMAKE_C_FLAGS "-O3 -DNDEBUG" CACHE STRING "" FORCE) | ||
| set(CMAKE_EXE_LINKER_FLAGS " -lifcore -\-intel -Xclang -mlong-double-64 -DNDEBUG -fortlib" CACHE STRING "" FORCE) | ||
| #set(CMAKE_EXE_LINKER_FLAGS " -Wl,-\-defsym,main=MAIN_\_ -lifcore -\-intel -Xclang -fsycl-allow-virtual-functions -lsycl -mlong-double-64 -DNDEBUG ${SYCL_LINK_FLAGS} -fortlib -L${MPICH_DIR}/lib" CACHE STRING "" FORCE) | ||
|
|
||
| #this is needed for cime builds! | ||
| set(NETCDF_PATH "/lus/flare/projects/CSC249ADSE15_CNDA/software/netcdf-fortran/4.6.1/oneapi.eng.2023.05.15.007") | ||
| set(NETCDF_DIR "/lus/flare/projects/CSC249ADSE15_CNDA/software/netcdf-fortran/4.6.1/oneapi.eng.2023.05.15.007") | ||
| set(NETCDF_C_PATH "/lus/flare/projects/CSC249ADSE15_CNDA/software/netcdf-c/4.9.2/oneapi.eng.2023.05.15.007") | ||
| set(NETCDF_C "/lus/flare/projects/CSC249ADSE15_CNDA/software/netcdf-c/4.9.2/oneapi.eng.2023.05.15.007") | ||
|
|
||
|
|
||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| include(${CMAKE_CURRENT_LIST_DIR}/common.cmake) | ||
| common_setup() | ||
|
|
||
| include (${EKAT_MACH_FILES_PATH}/kokkos/intel-pvc.cmake) | ||
| include (${EKAT_MACH_FILES_PATH}/mpi/other.cmake) | ||
| set(EKAT_MPIRUN_EXE "mpiexec" CACHE STRING "" FORCE) | ||
| set(EKAT_MPI_NP_FLAG "-np" CACHE STRING "" FORCE) | ||
| set(EKAT_MPI_EXTRA_ARGS "--label --cpu-bind depth -envall" CACHE STRING "") | ||
| set(EKAT_MPI_THREAD_FLAG "-d" CACHE STRING "") | ||
|
|
||
| SET(SYCL_COMPILE_FLAGS "-std=c++17 -fsycl -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int -fsycl-unnamed-lambda") | ||
| SET(SYCL_LINK_FLAGS "-fsycl -fsycl-link-huge-device-code -fsycl-device-code-split=per_kernel -fsycl-targets=spir64_gen -Xsycl-target-backend \"-device 12.60.7\"") | ||
|
|
||
| set(CMAKE_CXX_FLAGS " -\-intel -Xclang -fsycl-allow-virtual-functions -mlong-double-64 -O3 -DNDEBUG ${SYCL_COMPILE_FLAGS}" CACHE STRING "" FORCE) | ||
| set(CMAKE_Fortran_FLAGS "-fc=ifx -O3 -DNDEBUG -DCPRINTEL -g" CACHE STRING "" FORCE) | ||
| set(CMAKE_C_FLAGS "-O3 -DNDEBUG" CACHE STRING "" FORCE) | ||
| set(CMAKE_EXE_LINKER_FLAGS " -lifcore -\-intel -Xclang -fsycl-allow-virtual-functions -lsycl -mlong-double-64 -DNDEBUG ${SYCL_LINK_FLAGS} -fortlib" CACHE STRING "" FORCE) | ||
|
|
||
| set(NETCDF_PATH "/lus/gila/projects/CSC249ADSE15_CNDA/software/oneAPI.2022.12.30.003/netcdf" CACHE STRING "") | ||
| set(NETCDF_DIR "/lus/gila/projects/CSC249ADSE15_CNDA/software/oneAPI.2022.12.30.003/netcdf" CACHE STRING "") | ||
| set(NETCDF_C_PATH "/lus/gila/projects/CSC249ADSE15_CNDA/software/oneAPI.2022.12.30.003/netcdf" CACHE STRING "") | ||
| set(NETCDF_C "/lus/gila/projects/CSC249ADSE15_CNDA/software/oneAPI.2022.12.30.003/netcdf" CACHE STRING "") | ||
|
|
||
|
|
Uh oh!
There was an error while loading. Please reload this page.