Skip to content

Commit d51ee75

Browse files
committed
Merge branch 'oksanaguba/eamxx/spot-clean' (PR #6916)
EAMxx: Kokkos 4.5 update, fixes and workarounds for Kokkos update, Aurora support * Update externals/ekat/extern/kokkos to 4.5. * Update EKAT itself to fix deprecated usage and add Aurora cmake files. * Fix and work around various issues on Frontier due to the Kokkos update. * Fix deprecated usage in Hommexx. [BFB]
2 parents 6cdd1a8 + d528c20 commit d51ee75

33 files changed

+291
-182
lines changed

.github/workflows/eamxx-sa-sanitizer.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,4 @@ jobs:
9494
machine: ghci-snl-cuda
9595
generate: false
9696
submit: ${{ env.submit }}
97-
cmake-configs: Kokkos_ARCH_HOPPER90=${{ env.Hopper }};Kokkos_ARCH_AMPERE80=${{ env.Ampere }};Kokkos_ARCH_VOLTA70=${{ env.Volta }};CMAKE_CUDA_ARCHITECTURES=${{ env.CUDA_ARCH }}
97+
cmake-configs: Kokkos_ARCH_HOPPER90=${{ env.Hopper }};Kokkos_ARCH_AMPERE80=${{ env.Ampere }};Kokkos_ARCH_VOLTA70=${{ env.Volta }};CMAKE_CUDA_ARCHITECTURES=${{ env.CUDA_ARCH }};SCREAM_SMALL_KERNELS=ON

.github/workflows/eamxx-sa-testing.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,14 @@ jobs:
106106
strategy:
107107
fail-fast: false
108108
matrix:
109-
build_type: [sp, dbg, opt]
110-
name: gcc-cuda / ${{ matrix.build_type }}
109+
test:
110+
- build_type: sp
111+
SK: OFF
112+
- build_type: dbg
113+
SK: ON
114+
- build_type: opt
115+
SK: OFF
116+
name: gcc-cuda / ${{ matrix.test.build_type }}
111117
steps:
112118
- name: Check out the repository
113119
uses: actions/checkout@v4
@@ -149,9 +155,9 @@ jobs:
149155
- name: Run tests
150156
uses: ./.github/actions/test-all-eamxx
151157
with:
152-
build_type: ${{ matrix.build_type }}
158+
build_type: ${{ matrix.test.build_type }}
153159
machine: ghci-snl-cuda
154160
generate: ${{ env.generate }}
155161
submit: ${{ env.submit }}
156-
cmake-configs: Kokkos_ARCH_HOPPER90=${{ env.Hopper }};Kokkos_ARCH_AMPERE80=${{ env.Ampere }};Kokkos_ARCH_VOLTA70=${{ env.Volta }};CMAKE_CUDA_ARCHITECTURES=${{ env.CUDA_ARCH }}
162+
cmake-configs: Kokkos_ARCH_HOPPER90=${{ env.Hopper }};Kokkos_ARCH_AMPERE80=${{ env.Ampere }};Kokkos_ARCH_VOLTA70=${{ env.Volta }};CMAKE_CUDA_ARCHITECTURES=${{ env.CUDA_ARCH }};SCREAM_SMALL_KERNELS=${{ matrix.test.SK }}
157163
ekat: ${{ env.ekat }}

cime_config/machines/cmake_macros/craycray-mphipcc_frontier.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,7 @@ set(PIO_FILESYSTEM_HINTS "lustre")
3535

3636
string(APPEND KOKKOS_OPTIONS " -DKokkos_ENABLE_HIP=On -DKokkos_ARCH_VEGA90A=On -DKokkos_ENABLE_OPENMP=OFF")
3737
set(USE_HIP "TRUE")
38+
39+
# Work around a compiler-side issue (register allocation) in
40+
# eamxx_mam_microphysics_process_interface.cpp
41+
set(SCREAM_ENABLE_MAM OFF CACHE STRING "")

cime_config/machines/cmake_macros/oneapi-ifx.cmake

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ if (compile_threaded)
44
string(APPEND CMAKE_CXX_FLAGS " -qopenmp")
55
string(APPEND CMAKE_EXE_LINKER_FLAGS " -qopenmp")
66
endif()
7-
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2")
8-
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2")
9-
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -O2")
10-
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g")
7+
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2 -gline-tables-only -g")
8+
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2 -gline-tables-only -g")
9+
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -fp-model precise -O2 -gline-tables-only -g")
10+
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created")
1111
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g")
1212
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g")
13-
string(APPEND CMAKE_C_FLAGS " -fp-model precise -std=gnu99")
14-
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise")
15-
string(APPEND CMAKE_Fortran_FLAGS " -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise")
13+
string(APPEND CMAKE_C_FLAGS " -fp-model precise -std=gnu99 -gline-tables-only -g")
14+
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise -gline-tables-only -g")
15+
string(APPEND CMAKE_Fortran_FLAGS " -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise -gline-tables-only -g")
1616
string(APPEND CPPDEFS " -DFORTRANUNDERSCORE -DNO_R16 -DCPRINTEL -DHAVE_SLASHPROC -DHIDE_MPI")
1717
string(APPEND CMAKE_Fortran_FORMAT_FIXED_FLAG " -fixed -132")
1818
string(APPEND CMAKE_Fortran_FORMAT_FREE_FLAG " -free")
@@ -23,4 +23,6 @@ set(MPICXX "mpicxx")
2323
set(SCC "icx")
2424
set(SCXX "icpx")
2525
set(SFC "ifx")
26-
set(E3SM_LINK_WITH_FORTRAN "TRUE")
26+
27+
28+
#set(E3SM_LINK_WITH_FORTRAN "TRUE")

cime_config/machines/cmake_macros/oneapi-ifxgpu.cmake

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@ if (compile_threaded)
44
string(APPEND CMAKE_CXX_FLAGS " -qopenmp")
55
string(APPEND CMAKE_EXE_LINKER_FLAGS " -qopenmp")
66
endif()
7-
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2")
8-
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2")
9-
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -O2")
10-
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g")
7+
8+
# 'just' -g may lead to linker internal errors and/or huge builds out of quotas
9+
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2 -g -gline-tables-only")
10+
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2 -fpscomp logicals -g -gline-tables-only")
11+
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -fp-model precise -O2 -g -gline-tables-only")
12+
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -fpscomp logicals -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created")
1113
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g")
1214
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g")
1315
string(APPEND CMAKE_C_FLAGS " -fp-model precise -std=gnu99")
1416
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise")
15-
string(APPEND CMAKE_Fortran_FLAGS " -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise")
17+
string(APPEND CMAKE_Fortran_FLAGS " -fpscomp logicals -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise")
1618
string(APPEND CPPDEFS " -DFORTRANUNDERSCORE -DNO_R16 -DCPRINTEL -DHAVE_SLASHPROC -DHIDE_MPI")
1719
string(APPEND CMAKE_Fortran_FORMAT_FIXED_FLAG " -fixed -132")
1820
string(APPEND CMAKE_Fortran_FORMAT_FREE_FLAG " -free")
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11

2-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core")
2+
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")
33
if (compile_threaded)
44
string(APPEND CMAKE_EXE_LINKER_FLAGS " -fiopenmp -fopenmp-targets=spir64")
55
endif()
6-
string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -mlong-double-64 ")
6+
7+
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")
8+
string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -mlong-double-64 -Xsycl-target-backend \"-device 12.60.7\"")
79
string(APPEND OMEGA_SYCL_EXE_LINKER_FLAGS " -Xsycl-target-backend \"-device 12.60.7\" ")
810
string(APPEND CMAKE_CXX_FLAGS " -Xclang -fsycl-allow-virtual-functions")
11+
12+
set(SCREAM_MPI_ON_DEVICE OFF CACHE STRING "")

cime_config/machines/config_machines.xml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3434,17 +3434,17 @@
34343434
<BATCH_SYSTEM>pbspro</BATCH_SYSTEM>
34353435
<SUPPORTED_BY>e3sm</SUPPORTED_BY>
34363436
<MAX_TASKS_PER_NODE>208</MAX_TASKS_PER_NODE>
3437-
<MAX_TASKS_PER_NODE compiler="oneapi-ifxgpu">96</MAX_TASKS_PER_NODE>
3437+
<MAX_TASKS_PER_NODE compiler="oneapi-ifxgpu">12</MAX_TASKS_PER_NODE>
34383438
<MAX_MPITASKS_PER_NODE>104</MAX_MPITASKS_PER_NODE>
3439-
<MAX_MPITASKS_PER_NODE compiler="oneapi-ifxgpu">48</MAX_MPITASKS_PER_NODE>
3439+
<MAX_MPITASKS_PER_NODE compiler="oneapi-ifxgpu">12</MAX_MPITASKS_PER_NODE>
34403440
<PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED>
34413441
<mpirun mpilib="default">
34423442
<executable>mpiexec</executable>
34433443
<!--executable>numactl -m 2-3 mpiexec</executable--><!--for HBM runs-->
34443444
<arguments>
34453445
<arg name="total_num_tasks">-np {{ total_tasks }} --label</arg>
34463446
<arg name="ranks_per_node">-ppn {{ tasks_per_node }}</arg>
3447-
<arg name="ranks_bind">-envall</arg>
3447+
<arg name="ranks_bind">--cpu-bind $ENV{RANKS_BIND}</arg>
34483448
<arg name="threads_per_rank">-d $ENV{OMP_NUM_THREADS}</arg>
34493449
<arg name="gpu_maps">$ENV{GPU_TILE_COMPACT}</arg>
34503450
</arguments>
@@ -3462,9 +3462,9 @@
34623462
<modules compiler="!gnu">
34633463
<command name="load">oneapi/eng-compiler/2024.07.30.002</command>
34643464
</modules>
3465-
<modules compiler="oneapi-ifxgpu">
3466-
<command name="load">kokkos/4.4.01-omp-sycl</command>
3467-
</modules>
3465+
<!--<modules compiler="oneapi-ifxgpu"> -->
3466+
<!-- <command name="load">kokkos/4.4.01-omp-sycl</command> -->
3467+
<!--</modules> -->
34683468
<modules compiler="gnu">
34693469
<command name="unload">spack-pe-gcc cmake</command>
34703470
<command name="load">gcc/10.3.0</command>
@@ -3478,25 +3478,40 @@
34783478
<env name="PNETCDF_PATH">/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002</env>
34793479
<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>
34803480
<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>
3481+
<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>
34813482
</environment_variables>
34823483
<environment_variables DEBUG="TRUE">
34833484
<env name="HYDRA_TOPO_DEBUG">1</env>
34843485
</environment_variables>
34853486
<environment_variables compiler="oneapi-ifxgpu">
34863487
<env name="ONEAPI_DEVICE_SELECTOR">level_zero:gpu</env>
3487-
<env name="ONEAPI_MPICH_GPU">NO_GPU</env>
3488-
<env name="MPIR_CVAR_ENABLE_GPU">0</env>
3488+
3489+
<!-- <env name="ONEAPI_MPICH_GPU">NO_GPU</env> -->
3490+
3491+
<env name="MPIR_CVAR_CH4_COLL_SELECTION_TUNING_JSON_FILE"></env>
3492+
<env name="MPIR_CVAR_COLL_SELECTION_TUNING_JSON_FILE"></env>
3493+
<env name="MPIR_CVAR_CH4_POSIX_COLL_SELECTION_TUNING_JSON_FILE"></env>
3494+
<env name="UR_L0_USE_DRIVER_INORDER_LISTS">1</env>
3495+
<env name="UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS">1</env>
3496+
<env name="UR_L0_USE_COPY_ENGINE_FOR_IN_ORDER_QUEUE">1</env>
3497+
<!--<env name="FI_PROVIDER">cxi</env>-->
3498+
<env name="FI_MR_CACHE_MONITOR">disabled</env>
3499+
<env name="FI_CXI_OVFLOW_BUF_SIZE">8388608</env>
3500+
<env name="PALS_PING_PERIOD">240</env>
3501+
<env name="PALS_RPC_TIMEOUT">240</env>
3502+
3503+
<env name="MPIR_CVAR_ENABLE_GPU">0</env>
34893504
<env name="romio_cb_read">disable</env>
34903505
<env name="romio_cb_write">disable</env>
34913506
<env name="SYCL_CACHE_PERSISTENT">1</env>
34923507
<env name="GATOR_INITIAL_MB">4000MB</env>
34933508
<env name="GATOR_DISABLE">0</env>
3494-
<env name="GPU_TILE_COMPACT">/soft/tools/mpi_wrapper_utils/gpu_tile_compact.sh</env>
3509+
<env name="GPU_TILE_COMPACT">/lus/flare/projects/E3SM_Dec/tools/mpi_wrapper_utils/gpu_tile_compact.sh</env>
34953510
<env name="FI_CXI_DEFAULT_CQ_SIZE">131072</env>
34963511
<env name="FI_CXI_CQ_FILL_PERCENT">20</env>
3497-
<env name="Kokkos_ROOT">$ENV{KOKKOS_ROOT}</env>
3512+
<!--<env name="Kokkos_ROOT">$ENV{KOKKOS_ROOT}</env>-->
34983513
<env name="ZES_ENABLE_SYSMAN">1</env>
3499-
<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>
3514+
<!--<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>-->
35003515
</environment_variables>
35013516
<environment_variables compiler="oneapi-ifx">
35023517
<env name="LIBOMPTARGET_DEBUG">0</env><!--default 0, max 5 -->

components/eamxx/CMakeLists.txt

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ option (Kokkos_ENABLE_SERIAL "" ON)
9797
set (EAMXX_ENABLE_GPU FALSE CACHE BOOL "")
9898
set (CUDA_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there?
9999
set (HIP_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there?
100+
set (SYCL_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there?
100101

101102
# Determine if this is a Cuda build.
102103
if (Kokkos_ENABLE_CUDA)
@@ -106,14 +107,21 @@ if (Kokkos_ENABLE_CUDA)
106107
set (CUDA_BUILD TRUE CACHE BOOL "" FORCE) #needed for yakl if kokkos vars are not visible there?
107108
endif ()
108109

109-
# Determine if this is a Cuda build.
110+
# Determine if this is a HIP build.
110111
if (Kokkos_ENABLE_HIP)
111112
# Add CUDA as a language for CUDA builds
112113
enable_language(HIP)
113114
set (EAMXX_ENABLE_GPU TRUE CACHE BOOL "" FORCE)
114115
set (HIP_BUILD TRUE CACHE BOOL "" FORCE) #needed for yakl if kokkos vars are not visible there?
115116
endif ()
116117

118+
# Determine if this is a sycl build.
119+
if (Kokkos_ENABLE_SYCL)
120+
#enable_language(SYCL)
121+
set (EAMXX_ENABLE_GPU TRUE CACHE BOOL "" FORCE)
122+
set (SYCL_BUILD TRUE CACHE BOOL "" FORCE) #needed for yakl if kokkos vars are not visible there?
123+
endif ()
124+
117125
if( NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "[Cc]lang" )
118126
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -cpp")
119127
endif()
@@ -178,7 +186,7 @@ elseif(MACH)
178186
endif()
179187

180188
set(DEFAULT_SMALL_KERNELS FALSE)
181-
if (Kokkos_ENABLE_HIP)
189+
if (Kokkos_ENABLE_HIP OR Kokkos_ENABLE_SYCL)
182190
set(DEFAULT_SMALL_KERNELS TRUE)
183191
endif()
184192

@@ -197,7 +205,13 @@ set(NetCDF_Fortran_PATH ${DEFAULT_NetCDF_Fortran_PATH} CACHE FILEPATH "Path to n
197205
set(NetCDF_C_PATH ${DEFAULT_NetCDF_C_PATH} CACHE FILEPATH "Path to netcdf C installation")
198206
set(SCREAM_MACHINE ${DEFAULT_SCREAM_MACHINE} CACHE STRING "The CIME/SCREAM name for the current machine")
199207
option(SCREAM_MPI_ON_DEVICE "Whether to use device pointers for MPI calls" ON)
200-
option(SCREAM_ENABLE_MAM "Whether to enable MAM aerosol support" ON)
208+
209+
if (Kokkos_ENABLE_SYCL)
210+
option(SCREAM_ENABLE_MAM "Whether to enable MAM aerosol support" OFF)
211+
else()
212+
option(SCREAM_ENABLE_MAM "Whether to enable MAM aerosol support" ON)
213+
endif()
214+
201215
set(SCREAM_SMALL_KERNELS ${DEFAULT_SMALL_KERNELS} CACHE STRING "Use small, non-monolothic kokkos kernels for ALL components that support them")
202216
set(SCREAM_P3_SMALL_KERNELS ${SCREAM_SMALL_KERNELS} CACHE STRING "Use small, non-monolothic kokkos kernels for P3 only")
203217
set(SCREAM_SHOC_SMALL_KERNELS ${SCREAM_SMALL_KERNELS} CACHE STRING "Use small, non-monolothic kokkos kernels for SHOC only")
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
$CIMEROOT/../components/eamxx/scripts/atmchange transport_alg=0 -b
3+
$CIMEROOT/../components/eamxx/scripts/atmchange hypervis_subcycle_q=1 -b
4+
$CIMEROOT/../components/eamxx/scripts/atmchange dt_tracer_factor=1 -b
5+
$CIMEROOT/../components/eamxx/scripts/atmchange tstep_type=9 -b
6+
$CIMEROOT/../components/eamxx/scripts/atmchange theta_hydrostatic_mode=False -b
Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,25 @@
11
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
22
common_setup()
33

4-
include (${EKAT_MACH_FILES_PATH}/kokkos/serial.cmake)
4+
include (${EKAT_MACH_FILES_PATH}/kokkos/intel-pvc.cmake)
55
include (${EKAT_MACH_FILES_PATH}/mpi/other.cmake)
6-
76
set(EKAT_MPIRUN_EXE "mpiexec" CACHE STRING "" FORCE)
87
set(EKAT_MPI_NP_FLAG "-np" CACHE STRING "" FORCE)
98
set(EKAT_MPI_EXTRA_ARGS "--label --cpu-bind depth -envall" CACHE STRING "")
109
set(EKAT_MPI_THREAD_FLAG "-d" CACHE STRING "")
1110

12-
set(NETCDF_C_PATH "$ENV{NETCDF_C_PATH}")
13-
set(NETCDF_FORTRAN_PATH "$ENV{NETCDF_FORTRAN_PATH}")
14-
set(PNETCDF_PATH "$ENV{PNETCDF_PATH}")
11+
SET(SYCL_COMPILE_FLAGS "-std=c++17 -fsycl -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int -fsycl-unnamed-lambda")
12+
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\"")
13+
14+
set(CMAKE_CXX_FLAGS " -\-intel -Xclang -fsycl-allow-virtual-functions -mlong-double-64 -O3 -DNDEBUG ${SYCL_COMPILE_FLAGS}" CACHE STRING "" FORCE)
15+
set(CMAKE_Fortran_FLAGS "-fc=ifx -O3 -DNDEBUG -DCPRINTEL -g" CACHE STRING "" FORCE)
16+
set(CMAKE_C_FLAGS "-O3 -DNDEBUG" CACHE STRING "" FORCE)
17+
set(CMAKE_EXE_LINKER_FLAGS " -lifcore -\-intel -Xclang -fsycl-allow-virtual-functions -lsycl -mlong-double-64 -DNDEBUG ${SYCL_LINK_FLAGS} -fortlib" CACHE STRING "" FORCE)
18+
19+
#this is needed for cime builds!
20+
set(NETCDF_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002")
21+
set(NETCDF_DIR "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002")
22+
set(NETCDF_C_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002")
23+
set(NETCDF_C "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002")
24+
25+

0 commit comments

Comments
 (0)