Skip to content
Snippets Groups Projects
Commit 905ae729 authored by Nicolas Richart's avatar Nicolas Richart
Browse files

Merge branch 'main' of gitlab.epfl.ch:SCITAS/software-stack/scitas-software-stacks

parents 4c246e41 a9b2de9e
No related branches found
No related tags found
No related merge requests found
Pipeline #200227 failed
Showing
with 74 additions and 135 deletions
...@@ -90,33 +90,17 @@ spack:setup: ...@@ -90,33 +90,17 @@ spack:setup:
- ci/setup_spack.sh - ci/setup_spack.sh
needs: needs:
- job: spack:checkout - job: spack:checkout
after_script:
- tar czf artifacts_${stack}_${environment}.tgz $stack/environment
artifacts:
paths:
- artifacts_${stack}_${environment}.tgz
spack:install_compilers: spack:install_compilers:
stage: compilers stage: compilers
extends: extends:
- .parallel_job - .parallel_job
- .spack_cache - .spack_cache
before_script:
- if [ -e artifacts_${stack}_${environment}.tgz ];
then
tar xzf artifacts_${stack}_${environment}.tgz;
fi
script: script:
- ci/install_compilers.sh - ci/install_compilers.sh
- source ci/stack_env.sh - source ci/stack_env.sh
- ${STACK_LOCATION}/spack/bin/spack -e ${environment} config blame compilers - ${STACK_LOCATION}/spack/bin/spack -e ${environment} config blame compilers
after_script:
- tar czf
artifacts_${stack}_${environment}.tgz
$stack/spack/var/spack/environments
artifacts: artifacts:
paths:
- artifacts_${stack}_${environment}.tgz
reports: reports:
junit: spack-install-*.xml junit: spack-install-*.xml
needs: needs:
...@@ -128,36 +112,23 @@ spack:concretize: ...@@ -128,36 +112,23 @@ spack:concretize:
extends: extends:
- .parallel_job - .parallel_job
- .spack_cache - .spack_cache
before_script:
- if [ -e artifacts_${stack}_${environment}.tgz ];
then
tar xzf artifacts_${stack}_${environment}.tgz;
fi
script: script:
- source ci/stack_env.sh - source ci/stack_env.sh
- ${STACK_LOCATION}/spack/bin/spack -e ${environment} config blame - ${STACK_LOCATION}/spack/bin/spack -e ${environment} config blame | tee config.log
- ${STACK_LOCATION}/spack/bin/spack -e ${environment} concretize --force - ${STACK_LOCATION}/spack/bin/spack -e ${environment} concretize --force | tee concretize.log
after_script:
- tar czf
artifacts_${stack}_${environment}.tgz
$stack/spack/var/spack/environments
artifacts: artifacts:
paths: paths:
- artifacts_${stack}_${environment}.tgz - config.log
- concretize.log
needs: needs:
- job: spack:install_compilers - job: spack:install_compilers
timeout: 5h timeout: 24h
spack:install: spack:install:
stage: install stage: install
extends: extends:
- .parallel_job - .parallel_job
- .spack_cache - .spack_cache
before_script:
- if [ -e artifacts_${stack}_${environment}.tgz ];
then
tar xzf artifacts_${stack}_${environment}.tgz;
fi
script: script:
- source ci/stack_env.sh - source ci/stack_env.sh
- echo "{}" > spack-install-${environment}.xml - echo "{}" > spack-install-${environment}.xml
...@@ -174,18 +145,12 @@ spack:install: ...@@ -174,18 +145,12 @@ spack:install:
--update-index --update-index
--key EDC904DCE3D2E84E --key EDC904DCE3D2E84E
/buildcache /buildcache
after_script:
- tar czf
artifacts_${stack}_${environment}.tgz
$stack/spack/var/spack/environments
needs: needs:
- job: spack:concretize - job: spack:concretize
artifacts: artifacts:
paths:
- artifacts_${stack}_${environment}.tgz
reports: reports:
junit: spack-install-*.xml junit: spack-install-*.xml
timeout: 10h timeout: 72h
spack:mksquashfs: spack:mksquashfs:
stage: deploy stage: deploy
......
...@@ -26,12 +26,13 @@ then ...@@ -26,12 +26,13 @@ then
spack/bin/spack env create ${environment} spack/bin/spack env create ${environment}
fi fi
for file in mirrors packages concretizer config spack definitions for file in mirrors packages concretizer config spack definitions modules
do do
if [ -e "${STACK_CONFIG_PATH}/${file}.yaml" ]; then if [ -e "${STACK_CONFIG_PATH}/${file}.yaml" ]; then
echo "Copying ${STACK_CONFIG_PATH}/${file}.yaml to ${SPACK_SYSTEM_CONFIG_PATH}" echo "Copying ${STACK_CONFIG_PATH}/${file}.yaml to ${SPACK_SYSTEM_CONFIG_PATH}"
cp "${STACK_CONFIG_PATH}/${file}.yaml" \ cp "${STACK_CONFIG_PATH}/${file}.yaml" \
${SPACK_SYSTEM_CONFIG_PATH} ${SPACK_SYSTEM_CONFIG_PATH}
cp "${STACK_CONFIG_PATH}/${file}.yaml" spack/etc/spack
fi fi
if [ -e "${STACK_CONFIG_PATH}/${file}_stack.yaml" ]; then if [ -e "${STACK_CONFIG_PATH}/${file}_stack.yaml" ]; then
...@@ -77,6 +78,28 @@ mirrors: ...@@ -77,6 +78,28 @@ mirrors:
${mirrors} ${mirrors}
EOF EOF
cp "${SPACK_SYSTEM_CONFIG_PATH}/mirrors.yaml" spack/etc/spack
echo "Setting up packages"
echo "packages:" > ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
export system_compiler=$(jq -Mrc '
.stack
| .system_arch as $arch
| .system_compiler
| to_entries
| .[].value
| "\(.compiler)@\(.version) \($arch)"
' ${STACK_CONFIG})
jq -Mrc '
.stack.system_packages
| map(" \(.):\n require:\n - spec: \"%\(env.system_compiler)\"")
| .[]
' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
cp "${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml" spack/etc/spack
echo "Setting up extra repos" echo "Setting up extra repos"
EXTERNAL_REPOS=$(jq -r '.spack.repos | keys[]' ${STACK_CONFIG}) EXTERNAL_REPOS=$(jq -r '.spack.repos | keys[]' ${STACK_CONFIG})
...@@ -104,6 +127,8 @@ do ...@@ -104,6 +127,8 @@ do
fi fi
done done
cp "${SPACK_SYSTEM_CONFIG_PATH}/repos.yaml" spack/etc/spack
echo "Setting up buildcache" echo "Setting up buildcache"
spack/bin/spack gpg trust \ spack/bin/spack gpg trust \
...@@ -127,19 +152,3 @@ spack/bin/spack buildcache keys \ ...@@ -127,19 +152,3 @@ spack/bin/spack buildcache keys \
--trust --trust
#spack/bin/spack buildcache update-index /buildcache #spack/bin/spack buildcache update-index /buildcache
echo "packages:" > ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
export system_compiler=$(jq -Mrc '
.stack
| .system_arch as $arch
| .system_compiler
| to_entries
| .[].value
| "\(.compiler)@\(.version) \($arch)"
' ${STACK_CONFIG})
jq -Mrc '
.stack.system_packages
| map(" \(.):\n require:\n - spec: \"%\(env.system_compiler)\"")
| .[]
' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
...@@ -3,7 +3,7 @@ config: ...@@ -3,7 +3,7 @@ config:
install_missing_compilers: false install_missing_compilers: false
install_tree: install_tree:
padded_length: 227 padded_length: 200
build_stage: build_stage:
- $tempdir/$user/spack-stage - $tempdir/$user/spack-stage
definitions:
- cuda_system_codes:
- cuda
- cudnn
- cuda_serial_codes:
- nccl
definitions: []
definitions: []
definitions_empty.yaml
\ No newline at end of file
definitions_cuda.yaml
\ No newline at end of file
definitions:
- cuda_system_codes:
- cuda
- cudnn
- cuda_serial_codes:
- nccl
definitions_cuda.yaml
\ No newline at end of file
definitions:
- cuda_system_codes:
- cuda
- cudnn
- cuda_serial_codes:
- nccl
definitions_cuda.yaml
\ No newline at end of file
...@@ -4,7 +4,7 @@ modules: ...@@ -4,7 +4,7 @@ modules:
lmod: lmod:
hash_length: 0 hash_length: 0
core_compilers: core_compilers:
- gcc@11.4.1 - gcc@11.2.1
hierarchy: hierarchy:
- mpi - mpi
all: all:
...@@ -47,7 +47,7 @@ modules: ...@@ -47,7 +47,7 @@ modules:
openmpi: openmpi:
environment: environment:
set: set:
SLURM_MPI_TYPE: pmi2 SLURM_MPI_TYPE: pmix
OMPI_MCA_btl_openib_warn_default_gid_prefix: '0' OMPI_MCA_btl_openib_warn_default_gid_prefix: '0'
append_path: append_path:
JULIA_LOAD_PATH: ":/ssoft/spack/external/julia/syrah.v1/mpi" JULIA_LOAD_PATH: ":/ssoft/spack/external/julia/syrah.v1/mpi"
......
modules:
default:
lmod: {}
modules_empty.yaml
\ No newline at end of file
modules_empty.yaml
\ No newline at end of file
modules_empty.yaml
\ No newline at end of file
modules:
default:
lmod:
openmpi:
environment:
set:
OMPI_MCA_pml: 'ucx'
OMPI_MCA_osc: 'ucx'
UCX_NET_DEVICES: 'mlx5_2:1,mlx5_3:1'
modules_kuma_h100.yaml
\ No newline at end of file
...@@ -9,48 +9,6 @@ packages: ...@@ -9,48 +9,6 @@ packages:
- spec: "^libiconv" - spec: "^libiconv"
when: "^iconv" when: "^iconv"
# - spec: ^intel-oneapi-mpi
# when: '%oneapi ^mpi'
# - spec: ^openmpi
# when: '%gcc ^mpi'
# - spec: ^openmpi
# when: '%aocc ^mpi'
# - spec: ^nvhpc+mpi
# when: '%nvhpc ^mpi'
# - spec: ^openblas %gcc
# when: '%gcc ^blas'
# - spec: ^eigen %gcc
# when: '%gcc ^eigen'
# - spec: ^kokkos %gcc
# when: '%gcc ^kokkos'
# - spec: ^openblas
# when: '%gcc ^lapack'
# - spec: ^intel-oneapi-mkl
# when: '%oneapi ^blas'
# - spec: ^intel-oneapi-mkl
# when: '%oneapi ^lapack'
# - spec: ^nvhpc+blas
# when: '%nvhpc ^blas'
# - spec: ^nvhpc+lapack
# when: '%nvhpc ^lapack'
# - spec: ^openblas
# when: '%gcc ^py-numpy'
# - spec: ^intel-oneapi-mkl
# when: '%oneapi ^py-numpy'
- spec: '+ipo' - spec: '+ipo'
when: '%gcc' when: '%gcc'
...@@ -102,9 +60,12 @@ packages: ...@@ -102,9 +60,12 @@ packages:
prefer: ['~cluster'] prefer: ['~cluster']
kokkos: kokkos:
prefer: ['+openmp', '+openmptarget', '+numactl', '+memkind', '+threads', prefer: ['+openmp', '+numactl', '+memkind', '+threads',
'+aggressive_vectorization'] '+aggressive_vectorization']
kokkos-kernel:
prefer: ['+openmp', '+threads']
lammps: lammps:
require: ['build_type=Release', '+asphere', '+atc', '+body', '+class2', require: ['build_type=Release', '+asphere', '+atc', '+body', '+class2',
'+colloid', '+compress', '+coreshell', '+dipole', '+diffraction', '+extra-dump', '+colloid', '+compress', '+coreshell', '+dipole', '+diffraction', '+extra-dump',
...@@ -158,6 +119,9 @@ packages: ...@@ -158,6 +119,9 @@ packages:
py-torch: py-torch:
require: ['+mpi'] require: ['+mpi']
scotch:
prefer: ['~mpi']
suite-sparse: suite-sparse:
require: require:
- spec: '+graphblas' - spec: '+graphblas'
...@@ -167,7 +131,7 @@ packages: ...@@ -167,7 +131,7 @@ packages:
ucx: ucx:
require: require:
- spec: +rdmacm +rc +dc +ud +cma +verbs - spec: '+rdmacm +rc +dc +ud +cma +verbs'
zlib-ng: zlib-ng:
require: ['build_system=autotools'] require: ['build_system=autotools']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment