From 2c026c1370ed254685c9f323283f7cd8e06087f9 Mon Sep 17 00:00:00 2001 From: Nicolas Richart <nicolas.richart@epfl.ch> Date: Tue, 9 Jul 2024 15:10:06 +0200 Subject: [PATCH] Adding missing files and more constraints to help concretizing --- .../pinot-noir-gcc/definitions_kuma_h100.yaml | 7 ++ stacks/pinot-noir-gcc/packages_kuma_h100.yaml | 6 +- stacks/pinot-noir/definitions_kuma_h100.yaml | 7 ++ stacks/pinot-noir/packages_jed.yaml | 5 + stacks/pinot-noir/packages_stack.yaml | 54 ++------- stacks/pinot-noir/spack.yaml | 114 +++++++++--------- 6 files changed, 90 insertions(+), 103 deletions(-) create mode 100644 stacks/pinot-noir-gcc/definitions_kuma_h100.yaml create mode 100644 stacks/pinot-noir/definitions_kuma_h100.yaml diff --git a/stacks/pinot-noir-gcc/definitions_kuma_h100.yaml b/stacks/pinot-noir-gcc/definitions_kuma_h100.yaml new file mode 100644 index 0000000..0f156fa --- /dev/null +++ b/stacks/pinot-noir-gcc/definitions_kuma_h100.yaml @@ -0,0 +1,7 @@ +definitions: + - cuda_system_codes: + - cuda + - cudnn + + - cuda_serial_codes: + - nccl diff --git a/stacks/pinot-noir-gcc/packages_kuma_h100.yaml b/stacks/pinot-noir-gcc/packages_kuma_h100.yaml index 425f8b3..07fab46 100644 --- a/stacks/pinot-noir-gcc/packages_kuma_h100.yaml +++ b/stacks/pinot-noir-gcc/packages_kuma_h100.yaml @@ -4,7 +4,7 @@ packages: require: - "~rocm" - - spec: cuda_arch=90 target=icelake + - spec: cuda_arch=90 target=zen4 when: '+cuda' - spec: '+cuda' @@ -23,7 +23,7 @@ packages: openmpi: require: - - spec: '+cuda cuda_arch=90 target=icelake' + - spec: '+cuda cuda_arch=90 target=zen4' petsc: require: @@ -48,7 +48,7 @@ packages: ucx: require: - - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +gdrcopy +cuda cuda_arch=90 target=icelake ~rocm' + - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +gdrcopy +cuda cuda_arch=90 ~rocm target=zen4' # --------------------------------------------------------------------------- # Externals diff --git a/stacks/pinot-noir/definitions_kuma_h100.yaml b/stacks/pinot-noir/definitions_kuma_h100.yaml new file mode 100644 index 0000000..0f156fa --- /dev/null +++ b/stacks/pinot-noir/definitions_kuma_h100.yaml @@ -0,0 +1,7 @@ +definitions: + - cuda_system_codes: + - cuda + - cudnn + + - cuda_serial_codes: + - nccl diff --git a/stacks/pinot-noir/packages_jed.yaml b/stacks/pinot-noir/packages_jed.yaml index 186b82d..822d1e2 100644 --- a/stacks/pinot-noir/packages_jed.yaml +++ b/stacks/pinot-noir/packages_jed.yaml @@ -23,6 +23,11 @@ packages: - spec: '+cuda cuda_arch=90 +cuda_uvm +wrapper ~openmptarget' when: '%gcc' + kokkos-kernels: + require: + - spec: '+cuda cuda_arch=90' + when: '%gcc' + openmpi: require: - spec: '+cuda cuda_arch=90 target=icelake' diff --git a/stacks/pinot-noir/packages_stack.yaml b/stacks/pinot-noir/packages_stack.yaml index d75c10a..d12a3aa 100644 --- a/stacks/pinot-noir/packages_stack.yaml +++ b/stacks/pinot-noir/packages_stack.yaml @@ -9,48 +9,6 @@ packages: - spec: "^libiconv" 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' when: '%gcc' @@ -99,12 +57,15 @@ packages: - spec: '@2.31.0 ~magma' intel-oneapi-mkl: - prefer: ['+cluster'] + prefer: ['~cluster'] kokkos: - prefer: ['+openmp', '+openmptarget', '+numactl', '+memkind', '+threads', + prefer: ['+openmp', '+numactl', '+memkind', '+threads', '+aggressive_vectorization'] + kokkos-kernel: + prefer: ['+openmp', '+threads'] + lammps: require: ['build_type=Release', '+asphere', '+atc', '+body', '+class2', '+colloid', '+compress', '+coreshell', '+dipole', '+diffraction', '+extra-dump', @@ -158,6 +119,9 @@ packages: py-torch: require: ['+mpi'] + scotch: + prefer: ['~mpi'] + suite-sparse: require: - spec: '+graphblas' @@ -167,7 +131,7 @@ packages: ucx: require: - - spec: +rdmacm +rc +dc +ud +cma +verbs + - spec: '+rdmacm +rc +dc +ud +cma +verbs' zlib-ng: require: ['build_system=autotools'] diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml index 1bafcf1..d80e2cc 100644 --- a/stacks/pinot-noir/spack.yaml +++ b/stacks/pinot-noir/spack.yaml @@ -72,7 +72,6 @@ spack: - tk - tmux - trimmomatic - - valgrind - xclip - zlib-ng @@ -81,7 +80,6 @@ spack: # ------------------------------------------------------------------------- - serial_codes: - bwa - - boost ~mpi - fftw +openmp ~mpi - fftw ~openmp ~mpi - eigen @@ -93,17 +91,17 @@ spack: - jasper - kallisto ^hdf5 ~mpi - kokkos + - kokkos-kernels - mafft - metis - muscle - netcdf-c~mpi ^hdf5~mpi - netcdf-fortran ^netcdf-c ~mpi ^hdf5 ~mpi - - nfft + - nfft ^fftw~mpi~openmp - python - - scotch + - scotch ~mpi - star - subread - - superlu - unblur ^fftw~mpi~openmp - voropp @@ -189,8 +187,8 @@ spack: - snakemake - python_blas_codes: - - boost - - gmsh ~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med + - boost ~mpi + #- gmsh ~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med - iq-tree - py-biopython - py-keras-preprocessing @@ -201,6 +199,7 @@ spack: - py-pandas - py-pybigwig - py-xarray + - valgrind - gcc_python_codes: - blast-plus @@ -212,7 +211,7 @@ spack: - mesa - mummer - node-js - - openbabel +python + - openbabel +python ^boost ~mpi - r - spades - xgboost @@ -327,18 +326,10 @@ spack: - matrix: - [$compilers_specs] - - matrix: - - [$blas_oneapi] - - [$%compiler_oneapi] - - matrix: - [$blas_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_gcc] - [$%compiler_gcc] @@ -353,16 +344,12 @@ spack: - matrix: - [$serial_codes] - - [$%compilers] + - [$%compiler_gcc] - matrix: - [$gcc_serial_codes] - [$%compiler_gcc] - - matrix: - - [$oneapi_serial_codes] - - [$%compiler_oneapi] - - matrix: - [$cuda_serial_codes] - [$%compiler_gcc] @@ -372,11 +359,6 @@ spack: - [$^blas_gcc] - [$%compiler_gcc] - - matrix: - - [$blas_codes] - - [$^blas_oneapi] - - [$%compiler_oneapi] - - matrix: - [$gcc_blas_codes] - [$^blas_gcc] @@ -392,34 +374,18 @@ spack: - [$^python_gcc] - [$%compiler_gcc] - - matrix: - - [$python_codes] - - [$^python_oneapi] - - [$%compiler_oneapi] - - matrix: - [$python_blas_codes] - [$^python_gcc] - [$^blas_gcc] - [$%compiler_gcc] - - matrix: - - [$python_blas_codes] - - [$^python_oneapi] - - [$^blas_oneapi] - - [$%compiler_oneapi] - - matrix: - [$gcc_python_blas_codes] - [$^python_gcc] - [$^blas_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_codes] - - [$^mpi_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_codes] - [$^mpi_gcc] @@ -430,25 +396,12 @@ spack: - [$^mpi_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_blas_codes] - - [$^blas_oneapi] - - [$^mpi_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_blas_codes] - [$^blas_gcc] - [$^mpi_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_blas_python_codes] - - [$^blas_oneapi] - - [$^mpi_oneapi] - - [$^python_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_blas_python_codes] - [$^blas_gcc] @@ -463,6 +416,57 @@ spack: - [$^python_gcc] - [$%compiler_gcc] + # -------------------------------------------------------------------------- + - matrix: + - [$serial_codes] + - [$%compiler_oneapi] + + - matrix: + - [$blas_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$oneapi_serial_codes] + - [$%compiler_oneapi] + + - matrix: + - [$blas_codes] + - [$^blas_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$python_codes] + - [$^python_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$python_blas_codes] + - [$^python_oneapi] + - [$^blas_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_codes] + - [$^mpi_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_blas_codes] + - [$^blas_oneapi] + - [$^mpi_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_blas_python_codes] + - [$^blas_oneapi] + - [$^mpi_oneapi] + - [$^python_oneapi] + - [$%compiler_oneapi] + view: false # default: # root: /stack/packages/ -- GitLab