Skip to content
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

Aurora config #2593

Open
wants to merge 93 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
d4282db
use branch with spot kokkos commit
oksanaguba Nov 6, 2023
2f256a2
hardcopying homme sycl branch
oksanaguba Nov 6, 2023
4f24ef4
wip cime changes
oksanaguba Nov 7, 2023
18800c6
sync ekat with its branch
oksanaguba Nov 8, 2023
ea9006e
config, wip
oksanaguba Nov 8, 2023
b8fe4ac
typo
oksanaguba Nov 10, 2023
56c0016
hardwire team size to 4
oksanaguba Nov 10, 2023
0601c69
kokkos prinf
oksanaguba Nov 10, 2023
f425901
add sunspot-pvc
oksanaguba Nov 10, 2023
a8a9599
update ekat, ekat/kokkos
oksanaguba Nov 10, 2023
09602cd
load certain cmake and python
oksanaguba Nov 10, 2023
80bf0d5
build issue fixed thatnks to Andrew and Daniel A
oksanaguba Dec 12, 2023
5fa0d1f
Merge remote-tracking branch 'origin/master' into oksanaguba/spot
oksanaguba Jan 29, 2024
8d288b2
Merge remote-tracking branch 'E3SM/xyuan/e3sm_aurora' into oksanaguba…
oksanaguba Jan 29, 2024
e2792ba
bad conflict resolution fixed
oksanaguba Jan 29, 2024
735bac6
changes for aurora
Jan 30, 2024
f5dfd58
cache file
Jan 30, 2024
69b07b8
wip
Feb 9, 2024
094798f
point to newest ekat changes
oksanaguba Feb 9, 2024
8daf074
add auroracpu machine
oksanaguba Feb 13, 2024
1c44b20
adding iostream
oksanaguba Feb 13, 2024
ca14fc6
updated ekat branch
oksanaguba Feb 13, 2024
1caf5dc
bring changes from standalone homme sycl branch
oksanaguba Feb 21, 2024
6bca905
partial fix, adds escaped quotation marks
oksanaguba Feb 23, 2024
9f954b8
debug statements
oksanaguba Mar 7, 2024
f61ce74
-g flags
oksanaguba Mar 7, 2024
263da75
debug printf
oksanaguba Mar 7, 2024
706bc26
modify sunspot config, change yakl files
oksanaguba Mar 17, 2024
cc10432
updates for sunspot sw stack
oksanaguba Apr 22, 2024
3457fbe
add a flag to kokkos, redo cmake file for sunspot
oksanaguba May 6, 2024
741b87b
bool->int changes, but not linking
oksanaguba Apr 25, 2024
0c4da33
fixing bug, all cxx vs f pass
oksanaguba Apr 27, 2024
2caefc0
make ad consistent with bool->int changes
oksanaguba May 9, 2024
9d9eef2
add sunsporspu
oksanaguba May 11, 2024
96b62a9
remove -g for now
oksanaguba May 11, 2024
5633215
switch theta_hy_mode to int for now
oksanaguba May 11, 2024
d38b8e1
debug statements
oksanaguba May 13, 2024
bd1d030
Merge remote-tracking branch 'origin/master' into oksanaguba/spot
oksanaguba May 13, 2024
6590177
fixes after merges
oksanaguba May 15, 2024
4a9430c
cpu build changes after merge
oksanaguba May 16, 2024
9f325da
Merge branch 'origin/bartgol/ekat-update' into oksanaguba/spot
oksanaguba May 17, 2024
652575c
fix for use_moisture
oksanaguba May 18, 2024
ee9fd25
cmake changes for cpu and sunspotcpu and debug prints
oksanaguba May 18, 2024
f47a3d2
fix LD path for sunspot
oksanaguba May 20, 2024
891700f
update aurora builds, cpu built, gpu wip
oksanaguba May 22, 2024
64a5b92
committing wip clone that ran on cpu and gpu
oksanaguba Jun 17, 2024
b03d389
clean up
oksanaguba Jun 20, 2024
ab7642b
fix another boolean instance
oksanaguba Jul 14, 2024
8b97165
add mpi options
oksanaguba Jul 14, 2024
226bf95
turn mmfxx off
oksanaguba Jul 16, 2024
b3fe5d3
update ekat
oksanaguba Jul 16, 2024
81ea3b7
Merge branch 'origin/master' into oksanaguba/spot
oksanaguba Jul 16, 2024
cf0e1fb
testmod files for sunspot
oksanaguba Aug 16, 2024
ad78e43
flag to avoid default -fast-math for gpu
oksanaguba Aug 16, 2024
91df396
start to remove testing setup for caar kernels
oksanaguba Aug 17, 2024
5c908e3
cleanup
oksanaguba Aug 17, 2024
ba7b030
fix for prev cleanup
oksanaguba Aug 17, 2024
237612a
fix qsplit for sunspot EUL tests
oksanaguba Aug 17, 2024
2403aa3
clean prints
oksanaguba Aug 17, 2024
f5680ce
clean AD messages
oksanaguba Aug 17, 2024
9d0726a
p3 messages cleanup
oksanaguba Aug 17, 2024
626d4ec
clean ad file
oksanaguba Aug 18, 2024
b8ff0b2
add fpmodel flag to rrtmgp
oksanaguba Aug 18, 2024
2d487f8
turn rrtmgp back on
oksanaguba Aug 18, 2024
2afcd0e
fix printfs
oksanaguba Aug 18, 2024
4544527
Merge branch 'origin/master' into oksanaguba/spot
oksanaguba Aug 18, 2024
2002e33
Merge branch 'origin/mahf708/fix-rrtmgp-k-cuda' into oksanaguba/spot
oksanaguba Aug 19, 2024
57819a4
fix for testing po spot
oksanaguba Aug 19, 2024
9a55245
switch to kokkos radiation
oksanaguba Aug 26, 2024
c339706
clean
oksanaguba Aug 26, 2024
23fef64
remove debug
oksanaguba Aug 26, 2024
ea26296
clean formatting
oksanaguba Aug 26, 2024
63b0394
clean formatting
oksanaguba Aug 26, 2024
2a7b9ef
remove debug in atm_proc_group
oksanaguba Aug 26, 2024
dbfaa35
clean up
oksanaguba Aug 26, 2024
9deaf95
sync homme files with homme branch
oksanaguba Sep 6, 2024
0de86a2
partially working switch to flare on aurora
oksanaguba Sep 8, 2024
9ddec8c
attempt to use new oneapi
oksanaguba Sep 8, 2024
55cfe54
sync with homme branch
oksanaguba Sep 10, 2024
7b34609
make consistent change
oksanaguba Sep 11, 2024
08a3860
sync with homme branch
oksanaguba Sep 17, 2024
0a4d147
update ekat (which has updated kokkos)
oksanaguba Oct 4, 2024
49bd431
update aurora modules
oksanaguba Oct 4, 2024
3afe043
add no-vni
oksanaguba Oct 9, 2024
d01baa3
Merge branch 'origin/master' into oksanaguba/spot
oksanaguba Oct 9, 2024
9008452
fixes after merge
oksanaguba Oct 10, 2024
13d2546
update ekat with updated kokkos
oksanaguba Oct 22, 2024
340ce70
swithc to 12 ranks/node after merge
oksanaguba Oct 23, 2024
30ddcdd
Revert "Merge Pull Request #3028 from E3SM-Project/scream/jgfouca/red…
oksanaguba Oct 23, 2024
75e0fd9
update kokkos
oksanaguba Oct 23, 2024
c7e8ad1
remove streaming option that is underutilizing gpusfor 12 ranks
oksanaguba Nov 4, 2024
5c2c714
AB env in aurora
oksanaguba Nov 7, 2024
0b43211
fixing ne256 build (works for ne30 too) for \failed to convert GOTPCREL\
oksanaguba Nov 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions cime_config/machines/cmake_macros/oneapi-ifx.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ if (compile_threaded)
string(APPEND CMAKE_CXX_FLAGS " -qopenmp")
string(APPEND CMAKE_EXE_LINKER_FLAGS " -qopenmp")
endif()
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -fpe0")
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2 -gline-tables-only -g")
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2 -gline-tables-only -g")
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -fp-model precise -O2 -gline-tables-only -g")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created")
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g")
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g")
string(APPEND CMAKE_C_FLAGS " -fp-model precise -std=gnu99")
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise")
string(APPEND CMAKE_Fortran_FLAGS " -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise")
string(APPEND CMAKE_C_FLAGS " -fp-model precise -std=gnu99 -gline-tables-only -g")
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise -gline-tables-only -g")
string(APPEND CMAKE_Fortran_FLAGS " -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise -gline-tables-only -g")
string(APPEND CPPDEFS " -DFORTRANUNDERSCORE -DNO_R16 -DCPRINTEL -DHAVE_SLASHPROC -DHIDE_MPI")
string(APPEND CMAKE_Fortran_FORMAT_FIXED_FLAG " -fixed -132")
string(APPEND CMAKE_Fortran_FORMAT_FREE_FLAG " -free")
Expand All @@ -23,4 +23,6 @@ set(MPICXX "mpicxx")
set(SCC "icx")
set(SCXX "icpx")
set(SFC "ifx")
set(E3SM_LINK_WITH_FORTRAN "TRUE")


#set(E3SM_LINK_WITH_FORTRAN "TRUE")
19 changes: 19 additions & 0 deletions cime_config/machines/cmake_macros/oneapi-ifx_auroracpu.cmake
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 "")










19 changes: 19 additions & 0 deletions cime_config/machines/cmake_macros/oneapi-ifx_sunspotcpu.cmake
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 "")










12 changes: 7 additions & 5 deletions cime_config/machines/cmake_macros/oneapi-ifxgpu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,17 @@ if (compile_threaded)
string(APPEND CMAKE_CXX_FLAGS " -qopenmp")
string(APPEND CMAKE_EXE_LINKER_FLAGS " -qopenmp")
endif()
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -fpe0")

#adding -g here leads to linker internal errors
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2 -g -gline-tables-only")
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2 -fpscomp logicals -g -gline-tables-only")
string(APPEND CMAKE_CXX_FLAGS_RELEASE " -fp-model precise -O2 -g -gline-tables-only")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -fpscomp logicals -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created")
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g")
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g")
string(APPEND CMAKE_C_FLAGS " -fp-model precise -std=gnu99")
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise")
string(APPEND CMAKE_Fortran_FLAGS " -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise")
string(APPEND CMAKE_Fortran_FLAGS " -fpscomp logicals -traceback -convert big_endian -assume byterecl -assume realloc_lhs -fp-model precise")
string(APPEND CPPDEFS " -DFORTRANUNDERSCORE -DNO_R16 -DCPRINTEL -DHAVE_SLASHPROC -DHIDE_MPI")
string(APPEND CMAKE_Fortran_FORMAT_FIXED_FLAG " -fixed -132")
string(APPEND CMAKE_Fortran_FORMAT_FREE_FLAG " -free")
Expand Down
6 changes: 4 additions & 2 deletions cime_config/machines/cmake_macros/oneapi-ifxgpu_aurora.cmake
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@

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 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 CMAKE_CXX_FLAGS " -Xclang -fsycl-allow-virtual-functions")

set(SCREAM_MPI_ON_DEVICE OFF CACHE STRING "")
30 changes: 30 additions & 0 deletions cime_config/machines/cmake_macros/oneapi-ifxgpu_sunspot-gen.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

set(CXX_LINKER "CXX")

execute_process(COMMAND $ENV{NETCDF_PATH}/bin/nf-config --flibs OUTPUT_VARIABLE SHELL_CMD_OUTPUT_BUILD_INTERNAL_IGNORE0 OUTPUT_STRIP_TRAILING_WHITESPACE)

string(APPEND SLIBS " ${SHELL_CMD_OUTPUT_BUILD_INTERNAL_IGNORE0} -Wl,-rpath -Wl,$ENV{NETCDF_PATH}/lib -lmkl_intel_lp64 -lmkl_sequential -lmkl_core")

execute_process(COMMAND $ENV{NETCDF_PATH}/bin/nc-config --libs OUTPUT_VARIABLE SHELL_CMD_OUTPUT_BUILD_INTERNAL_IGNORE0 OUTPUT_STRIP_TRAILING_WHITESPACE)

string(APPEND SLIBS " ${SHELL_CMD_OUTPUT_BUILD_INTERNAL_IGNORE0}")
string(APPEND SLIBS " -fiopenmp -fopenmp-targets=spir64")

set(NETCDF_PATH "$ENV{NETCDF_PATH}")
set(PNETCDF_PATH "$ENV{PNETCDF_PATH}")

set(USE_SYCL "TRUE")

string(APPEND KOKKOS_OPTIONS " -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=On -DKokkos_ARCH_INTEL_GEN=On -DKokkos_ENABLE_SYCL=On -DKokkos_ENABLE_EXPLICIT_INSTANTIATION=Off")

string(APPEND SYCL_FLAGS " -\-intel -Xclang -fsycl-allow-virtual-functions -fsycl -mlong-double-64 -fsycl-device-code-split=per_kernel -fno-sycl-id-queries-fit-in-int -fsycl-unnamed-lambda")

#string(APPEND SYCL_FLAGS " -\-intel -fsycl")
string(APPEND CXX_LDFLAGS " -Wl,-\-defsym,main=MAIN_\_ -lifcore -\-intel -Xclang -fsycl-allow-virtual-functions -fsycl -lsycl -mlong-double-64 -fsycl-link-huge-device-code -fsycl-device-code-split=per_kernel -fsycl-targets=spir64")

SET(CMAKE_CXX_COMPILER "mpicxx" CACHE STRING "")
SET(CMAKE_C_COMPILER "mpicc" CACHE STRING "")
SET(CMAKE_FORTRAN_COMPILER "mpifort" CACHE STRING "")



21 changes: 21 additions & 0 deletions cime_config/machines/cmake_macros/oneapi-ifxgpu_sunspot-pvc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

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")
if (compile_threaded)
string(APPEND CMAKE_EXE_LINKER_FLAGS " -fiopenmp -fopenmp-targets=spir64")
endif()

if (DEBUG)
#undefined reference to `__msan....
#https://community.intel.com/t5/Intel-Fortran-Compiler/Linking-errors-when-using-memory-sanitizer-in-fortran-project/m-p/1521476
#When you compile with -check uninit (or -check all) you also need to link with that compiler option.
# string(APPEND CMAKE_EXE_LINKER_FLAGS " -check uninit")
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 -DCMAKE_CXX_FLAGS='-fsycl-device-code-split=per_kernel'")
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 ON CACHE STRING "")




33 changes: 33 additions & 0 deletions cime_config/machines/config_batch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,30 @@
</queues>
</batch_system>

<batch_system MACH="sunspotcpu" type="pbspro">
<batch_submit>/lus/gila/projects/CSC249ADSE15_CNDA/tools/qsub/throttle</batch_submit>
<queues>
<queue walltimemax="01:00:00" jobmin="1" jobmax="128" default="true">workq</queue>
<queue walltimemax="01:00:00" jobmin="1" jobmax="128">debug</queue>
</queues>
</batch_system>

<batch_system MACH="sunspot-pvc" type="pbspro">
<batch_submit>/lus/gila/projects/CSC249ADSE15_CNDA/tools/qsub/throttle</batch_submit>
<queues>
<queue walltimemax="01:00:00" jobmin="1" jobmax="128" default="true">workq</queue>
<queue walltimemax="01:00:00" jobmin="1" jobmax="128">debug</queue>
</queues>
</batch_system>

<batch_system MACH="sunspot-gen" type="pbspro">
<batch_submit>/lus/gila/projects/CSC249ADSE15_CNDA/tools/qsub/throttle</batch_submit>
<queues>
<queue walltimemax="01:00:00" jobmin="1" jobmax="128" default="true">workq</queue>
<queue walltimemax="01:00:00" jobmin="1" jobmax="128">debug</queue>
</queues>
</batch_system>

<batch_system MACH="aurora" type="pbspro">
<batch_submit>/lus/flare/projects/CSC249ADSE15_CNDA/tools/qsub/throttle</batch_submit>
<queues>
Expand All @@ -569,6 +593,15 @@
<queue walltimemax="00:59:00" jobmin="1" jobmax="10624">workq</queue>
</queues>
</batch_system>

<batch_system MACH="auroracpu" type="pbspro">
<batch_submit>/lus/flare/projects/CSC249ADSE15_CNDA/tools/qsub/throttle</batch_submit>
<queues>
<queue walltimemax="00:59:00" jobmin="1" jobmax="2560" default="true">EarlyAppAccess</queue>
<queue walltimemax="00:59:00" jobmin="1" jobmax="10624">workq-route</queue>
<queue walltimemax="00:59:00" jobmin="1" jobmax="10624">workq</queue>
</queues>
</batch_system>

<batch_system MACH="polaris" type="pbspro">
<batch_submit>/grand/E3SMinput/soft/qsub/throttle</batch_submit>
Expand Down
Loading