Update pipeline configurations

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
Massimiliano Culpo 2024-09-13 10:50:29 +02:00
parent 3121612c8f
commit 051a656a9e
No known key found for this signature in database
GPG Key ID: 3E52BB992233066C
12 changed files with 168 additions and 198 deletions

View File

@ -4,5 +4,5 @@ config:
root: /home/software/spack root: /home/software/spack
padded_length: 256 padded_length: 256
projections: projections:
all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}' all: "{architecture.platform}/{architecture.target}/{name}-{version}-{hash}"

View File

@ -73,8 +73,8 @@ install_compilers() {
# in packages.yaml files and add a fallback `%gcc` version for each application. # in packages.yaml files and add a fallback `%gcc` version for each application.
if [ -f "/bootstrap-compilers/spack/etc/spack/compilers.yaml" ]; then if [ -f "/bootstrap-compilers/spack/etc/spack/compilers.yaml" ]; then
# Running inside a gitlab CI container # Running inside a gitlab CI container
# Intel and gcc@12 compiler are pre-installed and their location is known in # Intel and gcc@12 compiler are pre-installed and their location is known in
cp /bootstrap-compilers/spack/etc/spack/compilers.yaml "${SPACK_ROOT}"/etc/spack/ spack compiler list
else else
spack compiler add --scope site spack compiler add --scope site
# We need to treat compilers as essentially external, i.e. their installation location # We need to treat compilers as essentially external, i.e. their installation location

View File

@ -57,34 +57,22 @@ spack:
- compiler_specs: - compiler_specs:
- gcc@11.2 - gcc@11.2
# Licensing OK?
# - intel-oneapi-compilers@2022.1
# - nvhpc
- app_specs: - app_specs:
- bwa - bwa
# Depends on simde which requires newer compiler? # Depends on simde which requires newer compiler?
#- bowtie2 #- bowtie2
# Requires x86_64 specific ASM
#- cistem
- cromwell
- fastqc
- flux-sched - flux-sched
- flux-core - flux-core
- flux-pmix - flux-pmix
- gatk
- gromacs - gromacs
- lammps - lammps
- wrf build_type=dm+sm - wrf build_type=dm+sm
- mfem - mfem
- mpas-model ^parallelio+pnetcdf - mpas-model ^parallelio+pnetcdf
- nextflow
- octave - octave
- openfoam - openfoam
- osu-micro-benchmarks - osu-micro-benchmarks
- parallel
# - paraview
- picard
- quantum-espresso - quantum-espresso
- raja - raja
# Depends on bowtie2 -> simde which requires newer compiler? # Depends on bowtie2 -> simde which requires newer compiler?
@ -94,12 +82,9 @@ spack:
- salmon - salmon
- samtools - samtools
- seqtk - seqtk
- snakemake
- star - star
# Requires gcc@9: # Requires gcc@9:
#- ufs-weather-model #- ufs-weather-model
# requires LLVM which fails without constraint
#- visit
- lib_specs: - lib_specs:
- openmpi fabrics=ofi - openmpi fabrics=ofi
@ -115,7 +100,6 @@ spack:
- target=aarch64 - target=aarch64
- target=neoverse_n1 - target=neoverse_n1
specs: specs:
- matrix: - matrix:
@ -131,7 +115,10 @@ spack:
- matrix: - matrix:
- - $compiler_specs - - $compiler_specs
- - $compiler - - $compiler
- - $target
- matrix:
- [cromwell, fastqc, gatk, nextflow, parallel, picard, snakemake]
- [$target]
ci: ci:
pipeline-gen: pipeline-gen:

View File

@ -2,6 +2,8 @@ spack:
view: false view: false
packages: packages:
all: all:
require:
- target=x86_64_v3
providers: providers:
blas: blas:
- openblas - openblas
@ -12,7 +14,8 @@ spack:
- mpich - mpich
variants: +mpi variants: +mpi
tbb: tbb:
require: intel-tbb require:
- intel-tbb
binutils: binutils:
variants: +ld +gold +headers +libiberty ~nls variants: +ld +gold +headers +libiberty ~nls
version: version:
@ -43,8 +46,6 @@ spack:
- '1.18' - '1.18'
relion: relion:
variants: ~mklfft variants: ~mklfft
# texlive:
# version: [20210325]
trilinos: trilinos:
variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
+ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
@ -57,56 +58,35 @@ spack:
- compiler_specs: - compiler_specs:
- gcc@11.2 - gcc@11.2
# Licensing OK?
# - intel-oneapi-compilers@2022.1
# - nvhpc
- cuda_specs: - cuda_specs:
# Disabled for consistency with aarch64
#- relion +cuda cuda_arch=70
- raja +cuda cuda_arch=70 - raja +cuda cuda_arch=70
- mfem +cuda cuda_arch=70 - mfem +cuda cuda_arch=70
- app_specs: - app_specs:
- bwa - bwa
# Disabled for consistency with aarch64
#- bowtie2
# Disabled for consistency with aarch64
#- cistem
- cromwell
- fastqc
- flux-sched - flux-sched
- flux-core - flux-core
- flux-pmix - flux-pmix
- gatk
- gromacs - gromacs
- lammps - lammps
- wrf build_type=dm+sm - wrf build_type=dm+sm
- mfem - mfem
- mpas-model ^parallelio+pnetcdf - mpas-model ^parallelio+pnetcdf
- nextflow
- octave - octave
- openfoam - openfoam
- osu-micro-benchmarks - osu-micro-benchmarks
- parallel
# - paraview
- picard
- quantum-espresso - quantum-espresso
# Build broken for gcc@7.3.1 x86_64_v4 (error: '_mm512_loadu_epi32' was not declared in this scope) # Build broken for gcc@7.3.1 x86_64_v4 (error: '_mm512_loadu_epi32' was not declared in this scope)
#- raja #- raja
# Disabled for consistency with aarch64
#- rsem
# Errors on texlive # Errors on texlive
#- rstudio #- rstudio
- salmon - salmon
- samtools - samtools
- seqtk - seqtk
- snakemake
- star - star
# Requires gcc@9: # Requires gcc@9:
#- ufs-weather-model #- ufs-weather-model
# Disabled for consistency with aarch64
#- visit
- lib_specs: - lib_specs:
- openmpi fabrics=ofi - openmpi fabrics=ofi
@ -118,31 +98,32 @@ spack:
- compiler: - compiler:
- '%gcc@7.3.1' - '%gcc@7.3.1'
- target:
- target=x86_64_v3
specs: specs:
- matrix: - matrix:
- - $cuda_specs - - $cuda_specs
- - $compiler - - $compiler
- - $target
- matrix: - matrix:
- - $app_specs - - $app_specs
- - $compiler - - $compiler
- - $target
- matrix: - matrix:
- - $lib_specs - - $lib_specs
- - $compiler - - $compiler
- - $target
- matrix: - matrix:
- - $compiler_specs - - $compiler_specs
- - $compiler - - $compiler
- - $target
- cromwell
- fastqc
- gatk
- parallel
- nextflow
- picard
- snakemake
ci: ci:
pipeline-gen: pipeline-gen:

View File

@ -55,9 +55,11 @@ packages:
- "wrf%arm" - "wrf%arm"
- "wrf%gcc" - "wrf%gcc"
all: all:
compiler: [gcc, arm, nvhpc, clang]
providers: providers:
blas: [armpl-gcc, openblas] blas: [armpl-gcc, openblas]
c: [gcc, arm, nvhpc, llvm]
cxx: [gcc, arm, nvhpc, llvm]
fortran: [gcc, arm, nvhpc, llvm]
fftw-api: [armpl-gcc, fftw] fftw-api: [armpl-gcc, fftw]
lapack: [armpl-gcc, openblas] lapack: [armpl-gcc, openblas]
mpi: [openmpi, mpich] mpi: [openmpi, mpich]

View File

@ -23,8 +23,6 @@ packages:
- "+intel_provided_gcc target=x86_64_v4 ^intel-oneapi-mkl" - "+intel_provided_gcc target=x86_64_v4 ^intel-oneapi-mkl"
- "+intel_provided_gcc target=x86_64_v3 ^intel-oneapi-mkl" - "+intel_provided_gcc target=x86_64_v3 ^intel-oneapi-mkl"
when: "%oneapi" when: "%oneapi"
intel-oneapi-compilers:
require: "intel-oneapi-compilers %gcc target=x86_64_v3"
intel-oneapi-mpi: intel-oneapi-mpi:
variants: +external-libfabric generic-names=True variants: +external-libfabric generic-names=True
lammps: lammps:
@ -124,14 +122,16 @@ packages:
when: "%oneapi" when: "%oneapi"
all: all:
compiler: [oneapi, gcc]
permissions: permissions:
read: world read: world
write: user write: user
providers: providers:
blas: [intel-oneapi-mkl] blas: [intel-oneapi-mkl]
c: [intel-oneapi-compilers, gcc]
cxx: [intel-oneapi-compilers, gcc]
daal: [intel-oneapi-dal] daal: [intel-oneapi-dal]
fftw-api: [intel-oneapi-mkl] fftw-api: [intel-oneapi-mkl]
fortran: [intel-oneapi-compilers, gcc]
ipp: [intel-oneapi-ipp] ipp: [intel-oneapi-ipp]
lapack: [intel-oneapi-mkl] lapack: [intel-oneapi-mkl]
mkl: [intel-oneapi-mkl] mkl: [intel-oneapi-mkl]
@ -139,5 +139,22 @@ packages:
tbb: [intel-oneapi-tbb, intel-tbb] tbb: [intel-oneapi-tbb, intel-tbb]
scalapack: [intel-oneapi-mkl] scalapack: [intel-oneapi-mkl]
# compilers
gcc:
externals:
- spec: gcc@12.4.0 languages='c,c++,fortran'
prefix: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb
extra_attributes:
compilers:
c: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/gcc
cxx: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/g++
fortran: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/gfortran
intel-oneapi-compilers:
externals:
- spec: intel-oneapi-compilers@2024.1.0 target=x86_64_v3
prefix: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1
extra_attributes:
compilers:
c: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/icx
cxx: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/icpx
fortran: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/ifx

View File

@ -2,24 +2,21 @@ spack:
view: false view: false
packages: packages:
all: all:
require: target=x86_64_v3 require:
definitions: - target=x86_64_v3
- default_specs: c:
- 'uncrustify build_system=autotools' require:
- 'uncrustify build_system=cmake' - gcc
- lz4 # MakefilePackage
- mpich~fortran # AutotoolsPackage
- py-setuptools # PythonPackage
- openjpeg # CMakePackage
- r-rcpp # RPackage
- ruby-rake # RubyPackage
- arch:
- '%gcc'
specs: specs:
- matrix: - 'uncrustify build_system=autotools'
- - $default_specs - 'uncrustify build_system=cmake'
- - $arch - lz4 # MakefilePackage
- mpich~fortran # AutotoolsPackage
- py-setuptools # PythonPackage
- openjpeg # CMakePackage
- r-rcpp # RPackage
- ruby-rake # RubyPackage
cdash: cdash:
build-group: Build Systems build-group: Build Systems

View File

@ -1,95 +1,87 @@
spack: spack:
view: false view: false
packages: packages:
all: all:
require: target=x86_64_v3 require:
- target=x86_64_v3
prefer:
- '%gcc'
gcc:
externals:
- spec: gcc@=10.2.1 languages=c,c++,fortran
prefix: /opt/rh/devtoolset-10/root/usr
extra_attributes:
compilers:
c: /opt/rh/devtoolset-10/root/usr/bin/gcc
cxx: /opt/rh/devtoolset-10/root/usr/bin/g++
fortran: /opt/rh/devtoolset-10/root/usr/bin/gfortran
concretizer: concretizer:
unify: true unify: true
reuse: false reuse: false
definitions:
- default_specs:
# editors
- neovim~no_luajit
- py-pynvim
- emacs+json+native+treesitter # note, pulls in gcc
# - tree-sitter is a dep, should also have cli but no package
- nano # just in case
# tags and scope search helpers
- universal-ctags # only maintained ctags, works better with c++
- direnv
# runtimes and compilers
- python
- llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format
- node-js # for editor plugins etc., pyright language server
- npm
- cmake
- libtool
- go # to build fzf, gh, hub
- rust+dev # fd, ripgrep, hyperfine, exa, rust-analyzer
- binutils+ld+gold+plugins # support linking with built gcc
# styling and lints
- astyle
- cppcheck
- uncrustify
- py-fprettify
- py-fortran-language-server
- py-python-lsp-server
# cli dev tools
- ripgrep
- gh
- fd
# - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo'
- fzf
- tree
- jq
- py-yq
- hub
- ncdu
- eza
- lsd
- hyperfine
- htop
- tmux
- ccache
# ensure we can use a jobserver build and do this fast
- gmake
- ninja # should be @kitware, can't be because of meson requirement
- openssl certs=system # must be this, system external does not work
- libtree
- patchelf
- sed
- which
- elfutils
- fontconfig
- font-util
- gdb
- flex
- graphviz
- doxygen
- meson
- arch:
- '%gcc target=x86_64_v3'
specs: specs:
- matrix: # editors
- - $default_specs - neovim~no_luajit
- - $arch - py-pynvim
# FIXME (compiler as nodes): recover dependency on gcc as a library when +native
compilers: - emacs+json~native+treesitter # note, pulls in gcc
- compiler: # - tree-sitter is a dep, should also have cli but no package
spec: gcc@=10.2.1 - nano # just in case
paths: # tags and scope search helpers
cc: /opt/rh/devtoolset-10/root/usr/bin/gcc - universal-ctags # only maintained ctags, works better with c++
cxx: /opt/rh/devtoolset-10/root/usr/bin/g++ - direnv
f77: /opt/rh/devtoolset-10/root/usr/bin/gfortran # runtimes and compilers
fc: /opt/rh/devtoolset-10/root/usr/bin/gfortran - python
flags: {} - llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format
operating_system: centos7 - node-js # for editor plugins etc., pyright language server
target: x86_64 - npm
modules: [] - cmake
environment: {} - libtool
extra_rpaths: [] - go # to build fzf, gh, hub
- rust+dev # fd, ripgrep, hyperfine, exa, rust-analyzer
- binutils+ld+gold+plugins # support linking with built gcc
# styling and lints
- astyle
- cppcheck
- uncrustify
- py-fprettify
- py-fortran-language-server
- py-python-lsp-server
# cli dev tools
- ripgrep
- gh
- fd
# - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo'
- fzf
- tree
- jq
- py-yq
- hub
- ncdu
- eza
- lsd
- hyperfine
- htop
- tmux
- ccache
# ensure we can use a jobserver build and do this fast
- gmake
- ninja # should be @kitware, can't be because of meson requirement
- openssl certs=system # must be this, system external does not work
- libtree
- patchelf
- sed
- which
- elfutils
- fontconfig
- font-util
- gdb
- flex
- graphviz
- doxygen
- meson
ci: ci:
pipeline-gen: pipeline-gen:

View File

@ -12,9 +12,11 @@ spack:
all: all:
prefer: prefer:
- "%cce" - "%cce"
compiler: [cce]
providers: providers:
blas: [cray-libsci] blas: [cray-libsci]
c: [cce]
cxx: [cce]
fortran: [cce]
lapack: [cray-libsci] lapack: [cray-libsci]
mpi: [cray-mpich] mpi: [cray-mpich]
tbb: [intel-tbb] tbb: [intel-tbb]

View File

@ -7,8 +7,9 @@ spack:
packages: packages:
all: all:
require: "%gcc@9.4.0 target=ppc64le" prefer:
compiler: [gcc@9.4.0] - "%gcc@9.4.0"
- target=ppc64le
providers: providers:
blas: [openblas] blas: [openblas]
mpi: [mpich] mpi: [mpich]

View File

@ -3,7 +3,6 @@ spack:
packages: packages:
all: all:
compiler: [gcc@11.1.0]
providers: providers:
blas: [openblas] blas: [openblas]
mpi: [mpich] mpi: [mpich]

View File

@ -2,48 +2,40 @@ spack:
view: false view: false
packages: packages:
all: all:
require: target=x86_64_v3 require:
- target=x86_64_v3
- '%gcc@7.5.0'
providers: providers:
mpi: [mvapich2] mpi: [mvapich2]
definitions:
#- compilers: ['%gcc@8.3.1', '%clang@10.0.0']
- compilers: ['%gcc@7.5.0']
# Note skipping spot since no spack package for it
- radiuss:
- ascent # ^conduit@0.6.0
- axom
- blt
- caliper
- care # ~benchmarks ~examples ~tests
- chai # ~examples
- conduit # ^hdf5+shared
- flux-core
#- flux-sched
- hypre
- lbann
- lvarray ~tests # per Spack issue #23192 # ~examples
- mfem
- py-hatchet
- py-maestrowf
- py-merlin
- py-shroud
- raja # ~examples # ~tests
- raja-perf
- samrai
- scr
- sundials
- umpire # ~openmp
#- visit # ^mesa-glu@9.0.0
- xbraid
- zfp
specs: specs:
- matrix: - ascent # ^conduit@0.6.0
- [$radiuss] - axom
- [$compilers] - blt
- caliper
- care # ~benchmarks ~examples ~tests
- chai # ~examples
- conduit # ^hdf5+shared
- flux-core
# - flux-sched
- hypre
- lbann
- lvarray ~tests # per Spack issue #23192 # ~examples
- mfem
- py-hatchet
- py-maestrowf
- py-merlin
- py-shroud
- raja # ~examples # ~tests
- raja-perf
- samrai
- scr
- sundials
- umpire # ~openmp
# - visit # ^mesa-glu@9.0.0
- xbraid
- zfp
cdash: cdash:
build-group: RADIUSS build-group: RADIUSS