Skip to content

Commit 145db32

Browse files
committed
Upgrade to Spack v1.1.1 and related fixes.
1 parent 04b3a4f commit 145db32

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1111
-237
lines changed
Lines changed: 2 additions & 0 deletions
File renamed without changes.
File renamed without changes.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,8 @@ if(EXAGO_RUN_TESTS)
291291
endif()
292292

293293
if(EXAGO_ENABLE_LOGGING)
294-
add_subdirectory(${PROJECT_SOURCE_DIR}/tpl/spdlog/)
295-
# -fPIC required for spdlog for use with python wrapper
296-
set_property(TARGET spdlog PROPERTY POSITION_INDEPENDENT_CODE ON)
294+
find_package(spdlog REQUIRED)
295+
find_package(fmt REQUIRED)
297296
endif()
298297

299298
# Build libraries (specified in src/CMakeLists.txt)

buildsystem/build.sh

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ cleanup() {
2929
echo Exit code $2 caught in build script triggered by signal ${sig}.
3030
echo
3131

32-
exit $2
32+
if [[ $2 -ne 0 ]]; then
33+
exit $2
34+
fi
3335
}
3436

3537
if [[ ! -f $PWD/buildsystem/build.sh ]]; then
@@ -78,22 +80,19 @@ Clusters:
7880
By default, this script will attempt to determine the cluster it is being ran
7981
on using the hostname command. If a known cluster is found, it's respective
8082
script in the directory ./scripts/buildsystem will be sourced and the
81-
variable MY_CLUSTER will be set. For example, on PNNL cluster Marianas,
82-
hostname deception.pnl.gov will be matched and
83-
./scripts/buildsystem/deceptionVariables.sh will be sourced. If you would like
84-
to add a cluster, create a script
85-
./scripts/buildsystem/<my cluster>Variables.sh and specify the relevant
83+
variable MY_CLUSTER will be set. If you would like to add a cluster, create a script
84+
./buildsystem/<job name>/<my cluster>Variables.sh and specify the relevant
8685
environment variables. If the hostname is not correctly finding your cluster,
8786
you may specify MY_CLUSTER environment variable before running this script
8887
and the script will respect the environment variable. For example, on ORNL
89-
Ascent cluster, the hostname does not find the cluster, so we must specify
88+
Frontier cluster, the hostname does not find the cluster, so we must specify
9089
MY_CLUSTER when running:
9190
92-
$ MY_CLUSTER=ascent ./buildsystem/build.sh --build-only
91+
$ MY_CLUSTER=frontier ./buildsystem/build.sh --build-only
9392
9493
Spack:
9594
96-
Each supported variables script in ./scripts/buildsystem activates a spack
95+
Each supported variables script in ./buildsystem/<job name> activates a spack
9796
environment with all dependencies configured. If you have built dependencies
9897
for ExaGO in a spack environment, you may simply activate the environment
9998
and run the build script specifying that you don't want to source any
@@ -193,19 +192,13 @@ fi
193192

194193
if [[ ! -v MY_CLUSTER ]]
195194
then
196-
export MY_CLUSTER=`uname -n | sed -e 's/[0-9]//g' -e 's/\..*//'`
195+
export MY_CLUSTER=`hostname -f | sed -e 's/[0-9]//g'`
197196
fi
198197

199198
# Correctly identify clusters based on hostname
200199
case $MY_CLUSTER in
201-
newell*)
202-
export MY_CLUSTER=newell
203-
;;
204-
incline*|dmi*)
205-
export MY_CLUSTER=incline
206-
;;
207-
dl*|deception|*fat*)
208-
export MY_CLUSTER=deception
200+
*frontier*)
201+
export MY_CLUSTER=frontier
209202
;;
210203
*)
211204
echo "Cluster $MY_CLUSTER not identified - you'll have to set relevant variables manually."
@@ -215,9 +208,6 @@ esac
215208
ulimit -s unlimited || echo 'Could not set stack size to unlimited.'
216209
ulimit -l unlimited || echo 'Could not set max locked memory to unlimited.'
217210

218-
. /etc/profile.d/modules.sh
219-
module purge
220-
221211
varfile="$SRCDIR/buildsystem/$JOB/$(echo $MY_CLUSTER)Variables.sh"
222212

223213
if [[ -f "$varfile" ]]; then
@@ -238,7 +228,10 @@ if [[ ! -f "$SRCDIR/buildsystem/$JOB/build.sh" ]]; then
238228
exit 1
239229
fi
240230

241-
source $SRCDIR/buildsystem/$JOB/build.sh
231+
job_build_script="$SRCDIR/buildsystem/$JOB/build.sh"
232+
if [[ -f "$job_build_script" ]]; then
233+
source $job_build_script || { echo "Could not source $job_build_script"; exit 1; }
234+
fi
242235
doBuild
243236
EXIT_CODE=$?
244237

buildsystem/clang-hip/frontier/base.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,20 @@ export PROJ_DIR=/autofs/nccs-svm1_proj/eng151
66
module reset
77

88
# System modules
9-
module load PrgEnv-amd
9+
module load PrgEnv-gnu
1010
module load craype-x86-trento
1111
module load craype-accel-amd-gfx90a
12-
module load amd/6.3.1
1312
module load rocm/6.3.1
1413
module load cray-mpich
1514
module load libfabric
15+
module load cmake
16+
module load cray-python
1617

17-
# Consider changing to $(which clang) as for deception
18+
# The CC, CXX, FC environment variables can be overriden by Spack's module generation.
19+
# The Frontier configuration was setup to avoid this override, but this is a
20+
# potential pitfall (e.g., when configuring another system).
21+
# If all else fails, CMAKE_CXX_COMPILER superces these environment variables.
22+
# Consider updating the build system to selectively mark HIP code in CMake.
1823
export CC=/opt/rocm-6.3.1/llvm/bin/amdclang
1924
export CXX=/opt/rocm-6.3.1/llvm/bin/amdclang++
2025
export FC=/opt/rocm-6.3.1/llvm/bin/amdflang

buildsystem/deprecated/README.md

Lines changed: 3 additions & 0 deletions
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)