@@ -121,7 +121,21 @@ jobs:
121121 amps_layer : mpi1,
122122 netcdf : " true" ,
123123 memory_manager : " none" ,
124- pdi : " false"
124+ pdi : " false" ,
125+ sundials : " embedded"
126+ }
127+ - {
128+ name : " Ubuntu 24.04 GCC Sundials" ,
129+ os : ubuntu-24.04,
130+ cudaos : ' ubuntu2404' ,
131+ cc : " gcc" , cxx: "g++", fc: "gfortran",
132+ python : " false" ,
133+ backend : " none" ,
134+ amps_layer : mpi1,
135+ netcdf : " true" ,
136+ memory_manager : " none" ,
137+ pdi : " false" ,
138+ sundials : " external"
125139 }
126140 - {
127141 name : " Ubuntu 24.04 LLVM" ,
@@ -133,7 +147,8 @@ jobs:
133147 amps_layer : mpi1,
134148 netcdf : " true" ,
135149 memory_manager : " none" ,
136- pdi : " false"
150+ pdi : " false" ,
151+ sundials : " embedded"
137152 }
138153 - {
139154 name : " Ubuntu 22.04 GCC Python" ,
@@ -145,7 +160,8 @@ jobs:
145160 amps_layer : mpi1,
146161 netcdf : " true" ,
147162 memory_manager : " none" ,
148- pdi : " false"
163+ pdi : " false" ,
164+ sundials : " embedded"
149165 }
150166 - {
151167 name : " Ubuntu 24.04 GCC Python" ,
@@ -157,7 +173,8 @@ jobs:
157173 amps_layer : mpi1,
158174 netcdf : " false" ,
159175 memory_manager : " none" ,
160- pdi : " false"
176+ pdi : " false" ,
177+ sundials : " embedded"
161178 }
162179 - {
163180 name : " Ubuntu 24.04 GCC OMP" ,
@@ -169,7 +186,8 @@ jobs:
169186 amps_layer : mpi1,
170187 netcdf : " false" ,
171188 memory_manager : " none" ,
172- pdi : " false"
189+ pdi : " false" ,
190+ sundials : " embedded"
173191 }
174192 - {
175193 name : " Ubuntu 24.04 LLVM OASIS3-MCT Build" ,
@@ -181,7 +199,8 @@ jobs:
181199 amps_layer : oas3,
182200 netcdf : " true" ,
183201 memory_manager : " none" ,
184- pdi : " false"
202+ pdi : " false" ,
203+ sundials : " embedded"
185204 }
186205# - {
187206# name: "Ubuntu 24.04 GCC CUDA/RMM Build",
@@ -204,7 +223,8 @@ jobs:
204223 amps_layer : mpi1,
205224 netcdf : " false" ,
206225 memory_manager : " umpire" ,
207- pdi : " false"
226+ pdi : " false" ,
227+ sundials : " embedded"
208228 }
209229# - {
210230# name: "Ubuntu 24.04 GCC Kokkos/RMM Build",
@@ -227,7 +247,8 @@ jobs:
227247 amps_layer : mpi1,
228248 netcdf : " false" ,
229249 memory_manager : " umpire" ,
230- pdi : " false"
250+ pdi : " false" ,
251+ sundials : " embedded"
231252 }
232253 - {
233254 name : " Ubuntu 24.04 GCC PDI Build" ,
@@ -239,7 +260,8 @@ jobs:
239260 amps_layer : mpi1,
240261 netcdf : " false" ,
241262 memory_manager : " none" ,
242- pdi : " true"
263+ pdi : " true" ,
264+ sundials : " embedded"
243265 }
244266
245267 steps :
@@ -363,7 +385,7 @@ jobs:
363385 if : (matrix.config.backend == 'cuda' || matrix.config.backend == 'kokkos') && matrix.config.memory_manager == 'rmm'
364386 run : |
365387 if [[ "$CACHE_HIT" != 'true' ]]; then
366- git clone --branch main --single-branch --recurse-submodules https://github.com/rapidsai/rmm.git
388+ git clone --depth 1 -b v25.08.00 --single-branch --recurse-submodules https://github.com/rapidsai/rmm.git
367389 cd rmm
368390 mkdir build
369391 cd build
@@ -379,7 +401,7 @@ jobs:
379401 if : (matrix.config.backend == 'cuda' || matrix.config.backend == 'kokkos') && matrix.config.memory_manager == 'umpire'
380402 run : |
381403 if [[ "$CACHE_HIT" != 'true' ]]; then
382- git clone -b v2025.03.1 --recursive https://github.com/LLNL/Umpire.git
404+ git clone --depth 1 - b v2025.03.1 --single-branch --recursive https://github.com/LLNL/Umpire.git
383405 cd Umpire
384406 cmake -S . -B build \
385407 -DCMAKE_CXX_COMPILER=mpicxx \
@@ -472,11 +494,11 @@ jobs:
472494 CACHE_HIT : ${{steps.cache-parflow-dependencies.outputs.cache-hit}}
473495 run : |
474496 if [[ "$CACHE_HIT" != 'true' ]]; then
475- URL=https://github.com/LLNL/Silo/archive/refs/tags/4.11.tar.gz
497+ URL=https://github.com/LLNL/Silo/archive/refs/tags/4.11.1. tar.gz
476498 mkdir silo
477499 cd silo
478500 curl -L $URL | tar --strip-components=1 -xz
479- ./configure --disable-silex --disable-hzip --disable-fpzip --prefix=$PARFLOW_DEP_DIR
501+ ./configure --disable-silex --disable-hzip --disable-fpzip --enable-shared=yes -- prefix=$PARFLOW_DEP_DIR
480502 make -j 2 install
481503 fi
482504
@@ -499,7 +521,7 @@ jobs:
499521 fi
500522
501523 # Install Hypre. See https://hypre.readthedocs.io/en/latest/ch-misc.html#build-system-options
502- cmake -S src -B build \
524+ cmake -S src -B build \
503525 -DCMAKE_C_COMPILER=mpicc \
504526 -DCMAKE_CXX_COMPILER=mpicxx \
505527 -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \
@@ -510,6 +532,25 @@ jobs:
510532 echo "" && echo "Successfully built Hypre ${BACKEND}"
511533 fi
512534
535+ - name : Sundials Install
536+ env :
537+ CACHE_HIT : ${{steps.cache-parflow-dependencies.outputs.cache-hit}}
538+ if : matrix.config.sundials == 'external'
539+ run : |
540+ if [[ "$CACHE_HIT" != 'true' ]]; then
541+ # Download
542+ wget https://github.com/llnl/sundials/archive/v7.4.0.tar.gz
543+ tar xf v7.4.0.tar.gz
544+ cd sundials-7.4.0
545+ cmake -S . -B build \
546+ -DCMAKE_C_COMPILER=mpicc \
547+ -DCMAKE_CXX_COMPILER=mpicxx \
548+ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}"
549+ cmake --build build --parallel 4
550+ cmake --install build
551+ echo "SUNDIALS_FLAGS=-DSUNDIALS_ROOT=${PARFLOW_DEP_DIR}" >> $GITHUB_ENV
552+ fi
553+
513554 - name : PDI Install
514555 env :
515556 CACHE_HIT : ${{steps.cache-parflow-dependencies.outputs.cache-hit}}
@@ -559,7 +600,7 @@ jobs:
559600 -DSILO_ROOT=$PARFLOW_DEP_DIR \
560601 -DPARFLOW_ENABLE_PYTHON=${{ matrix.config.python }} \
561602 -DCMAKE_INSTALL_PREFIX=$PARFLOW_DIR \
562- $NETCDF_FLAGS $KOKKOS_FLAGS $RMM_FLAGS $UMPIRE_FLAGS $PDI_FLAGS
603+ $NETCDF_FLAGS $KOKKOS_FLAGS $RMM_FLAGS $UMPIRE_FLAGS $PDI_FLAGS $SUNDIALS_FLAGS
563604
564605 - name : ParFlow CMake Build
565606 run : (cd build; make -j 2 install)
0 commit comments