From 90b8f736f8dc8c7d545083f7ca5c2cb7341b36e2 Mon Sep 17 00:00:00 2001
From: Nicolas Richart <nicolas.richart@epfl.ch>
Date: Wed, 26 Jun 2024 09:53:29 +0200
Subject: [PATCH] Adding the python packages

---
 stacks/pinot-noir/packages_jed.yaml   |  12 +-
 stacks/pinot-noir/packages_stack.yaml |  24 ++--
 stacks/pinot-noir/spack.yaml          | 164 ++++++++++++++++++++++----
 3 files changed, 167 insertions(+), 33 deletions(-)

diff --git a/stacks/pinot-noir/packages_jed.yaml b/stacks/pinot-noir/packages_jed.yaml
index d43e828..d70bcd7 100644
--- a/stacks/pinot-noir/packages_jed.yaml
+++ b/stacks/pinot-noir/packages_jed.yaml
@@ -2,6 +2,8 @@ packages:
   all:
     target: ["icelake"]
     require:
+      - "~rocm"
+
       - spec: cuda_arch=90 target=icelake
         when: '+cuda'
 
@@ -26,9 +28,17 @@ packages:
     - spec: '+cuda cuda_arch=90'
       when: '%gcc'
 
+#  py-torch:
+#    require:
+#    - spec: '+cuda cuda_arch=90 +nccl'
+
+  quantum-espresso:
+    require:
+    - spec: '~cuda'
+
   ucx:
     require:
-      - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +vfs +gdrcopy +cuda cuda_arch=90 target=icelake'
+      - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +vfs +gdrcopy +cuda cuda_arch=90 target=icelake ~rocm'
 
   # ---------------------------------------------------------------------------
   # Externals
diff --git a/stacks/pinot-noir/packages_stack.yaml b/stacks/pinot-noir/packages_stack.yaml
index 076ef54..c125cf4 100644
--- a/stacks/pinot-noir/packages_stack.yaml
+++ b/stacks/pinot-noir/packages_stack.yaml
@@ -45,11 +45,13 @@ packages:
   # Requirements
   # ----------------------------------------------------------------------------
   boost:
-    prefer:
-    - spec: 'cxxstd=14 +icu ~mpi +python +numpy +atomic +chrono +container +date_time
-      +filesystem +graph +iostreams ~json +locale +log +math ~pic +program_options
-      +random +regex +serialization +shared +signals ~singlethreaded ~stacktrace +system
-      ~taggedlayout +test +thread +timer ~type_erasure ~versionedlayout +wave +exception'
+    prefer: ['~mpi']
+    require: ['cxxstd=14', '+icu', '+python', '+numpy', '+atomic', '+chrono',
+    '+container', '+date_time', '+filesystem', '+graph', '+iostreams', '~json',
+    '+locale', '+log', '+math', '~pic', '+program_options', '+random', '+regex',
+    '+serialization', '+shared', '+signals', '~singlethreaded', '~stacktrace',
+    '+system', '~taggedlayout', '+test', '+thread', '+timer', '~type_erasure',
+    '~versionedlayout', '+wave', '+exception']
 
   cuda:
     require:
@@ -62,8 +64,7 @@ packages:
     - spec: '@5.4.10'
 
   fftw:
-    prefer:
-    - spec: '+mpi +openmp'
+    prefer: ['+mpi', '+openmp']
 
   hdf5:
     prefer:
@@ -91,6 +92,9 @@ packages:
   llvm:
     prefer: ['~clang']
 
+  libxcb:
+    require: ['+use_spack_interpreter']
+
   mesa:
     require: ['~llvm', '+opengl', '+opengles', '+osmesa']
 
@@ -105,7 +109,7 @@ packages:
 
   openmpi:
     require:
-    - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs +internal-pmix'
+    - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs +internal-pmix ~memchecker'
     - spec: ^ucx +cuda
       when: +cuda
 
@@ -115,8 +119,8 @@ packages:
 
   python:
     require:
-    - spec: +ssl
-    - spec: +optimizations
+    - spec: '+ssl +tkinter'
+    - spec: '+optimizations'
       when: '%gcc'
 
   tk:
diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml
index 4256067..5341663 100644
--- a/stacks/pinot-noir/spack.yaml
+++ b/stacks/pinot-noir/spack.yaml
@@ -59,6 +59,7 @@ spack:
         - lmod
         - mpfr
         - neovim
+        - ninja
         - parallel
         - picard
         - rclone
@@ -101,6 +102,7 @@ spack:
         - star
         - subread
         - superlu
+        - unblur ^fftw~mpi~openmp
         - voropp
 
     - gcc_serial_codes:
@@ -115,7 +117,6 @@ spack:
         - rust
         - sox
         - stacks
-        - unblur ^fftw~mpi
 
     - oneapi_serial_codes:
         - abaqus@2023
@@ -140,6 +141,92 @@ spack:
         - armadillo +hdf5 ^arpack-ng ~mpi ^hdf5 ~mpi
         - octave
 
+    # -------------------------------------------------------------------------
+    # Python packages
+    # -------------------------------------------------------------------------
+    - python_codes:
+        - bedtools2
+        - bowtie2
+        - cairo
+        - mercurial
+        - prinseq-lite
+        - py-absl-py
+        - py-astunparse
+        - py-backports-entry-points-selectable
+        - py-certifi
+        - py-charset-normalizer
+        - py-cycler
+        - py-cython
+        - py-distlib
+        - py-filelock
+        - py-gast
+        - py-google-pasta
+        - py-h5py
+        - py-idna
+        - py-kiwisolver
+        - py-mpmath
+        - py-packaging
+        - py-pillow
+        - py-pip
+        - py-platformdirs
+        - py-ply
+        - py-protobuf
+        - py-pybind11
+        - py-pyparsing
+        - py-python-dateutil
+        - py-pytz
+        - py-requests
+        - py-semver
+        - py-six
+        - py-sympy
+        - py-termcolor
+        - py-urllib3
+        - py-virtualenv
+        - py-wheel
+        - py-wrapt
+        - samtools
+        - scons
+        - snakemake
+
+    - python_blas_codes:
+        - boost
+        - gmsh ~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med
+        - iq-tree
+        - py-biopython
+        - py-keras-preprocessing
+        - py-macs2
+        - py-matplotlib
+        - py-numpy
+        - py-opt-einsum
+        - py-pandas
+        - py-pybigwig
+        - py-xarray
+
+    - gcc_python_codes:
+        - blast-plus
+        - caffe +python
+        - gatk
+        - gdb +tui +source-highlight +xz
+        - julia+openlibm
+        - libgd
+        - mesa
+        - mummer
+        - node-js
+        - openbabel +python
+        - r
+        - spades
+        - xgboost
+
+    - gcc_python_blas_codes:
+        - polymake ^cddlib@0.94h
+        - py-deeptools
+        - py-scikit-learn
+        - py-scipy
+        - py-statsmodels
+        - py-theano +cuda cuda_arch=70
+        - py-cryolobm
+        - py-pymol
+
     # -------------------------------------------------------------------------
     # Parallel codes
     # -------------------------------------------------------------------------
@@ -150,6 +237,7 @@ spack:
         - osu-micro-benchmarks +graphing
         - parmetis
         - phylobayesmpi
+        - py-mpi4py
         - scotch +mpi
         - netcdf-c
         - netcdf-fortran
@@ -158,23 +246,22 @@ spack:
     - gcc_mpi_codes:
         - wrf ~pnetcdf build_type=dm+sm
 
-    - blas_mpi_codes:
+    - mpi_blas_codes:
         - arpack-ng +mpi
         - hypre@2.31.0
         - mumps@5.6.2
         - superlu-dist@8.2.1
-        - quantum-espresso +mpi +scalapack +gipaw
-        - quantum-espresso +mpi +scalapack +gipaw hdf5=parallel
-        - py-mpi4py
+        #- quantum-espresso +mpi +scalapack +gipaw
+        #- quantum-espresso +mpi +scalapack +gipaw hdf5=parallel
 
-    - gcc_blas_mpi_codes:
+    - gcc_mpi_blas_codes:
         - gmsh +mpi +eigen +openmp +hdf5 ~fltk ~opencascade ~med ^mmg ~vtk
         - cpmd ~openmp
         - elmerfem +mumps +openmp +hypre
         - netlib-scalapack
         - yambo +mpi io=iotk,etsf-io
 
-    - blas_mpi_python_codes:
+    - mpi_blas_python_codes:
         - boost +mpi
         - cgal
         - iq-tree@1.6.12+mpi
@@ -184,25 +271,25 @@ spack:
         - py-petsc4py
         - slepc
 
-    - gcc_blas_mpi_python_codes:
-        - adios2
+    - gcc_mpi_blas_python_codes:
         #- eman2 +mpi
+        - adios2
+        - cp2k +mpi +plumed +openmp smm=blas
         - fenics +parmetis +hdf5 +scotch +suite-sparse ~vtk ~trilinos
         - gromacs +mpi +plumed
         - lammps build_type=Release +asphere +atc +body +class2 +colloid +compress +coreshell +dipole +diffraction +extra-dump +granular +h5md +kspace +latboltz +latte +lib +manybody +mc +misc +molecule +mpi +mpiio +netcdf +peri ~poems +python +qeq +replica +rigid +shock +ml-snap +srd +voronoi +plumed
         - opencv +vtk +python3
         - openfoam +metis
+        - paraview +shared +python +hdf5 ~osmesa +opengl2 +egl
+        - py-h5py
         - py-horovod
         - py-keras
         - py-tensorflow +mpi
-        - py-topaz
-        - py-torch +mpi ~magma
+        - py-torch@2.3.0 +mpi ~magma
         - py-torchvision
         - relion ~mklfft
+        - topaz
         - vtk
-        - paraview +shared +python3 +hdf5 ~osmesa +opengl2
-        - py-h5py
-        - cp2k +mpi +plumed +openmp smm=blas
 
     # -------------------------------------------------------------------------
     # External packages
@@ -279,17 +366,50 @@ spack:
         - [$%compiler_gcc]
 
     - matrix:
-        - [blas_codes]
+        - [$blas_codes]
         - [$^blas_gcc]
         - [$%compiler_gcc]
 
     - matrix:
-        - [blas_codes]
+        - [$blas_codes]
         - [$^blas_oneapi]
         - [$%compiler_oneapi]
 
     - matrix:
-        - [gcc_blas_codes]
+        - [$gcc_blas_codes]
+        - [$^blas_gcc]
+        - [$%compiler_gcc]
+
+    - matrix:
+        - [$python_codes]
+        - [$^python_gcc]
+        - [$%compiler_gcc]
+
+    - matrix:
+        - [$gcc_python_codes]
+        - [$^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]
 
@@ -309,33 +429,33 @@ spack:
         - [$%compiler_gcc]
 
     - matrix:
-        - [$blas_mpi_codes]
+        - [$mpi_blas_codes]
         - [$^blas_oneapi]
         - [$^mpi_oneapi]
         - [$%compiler_oneapi]
 
     - matrix:
-        - [$blas_mpi_codes]
+        - [$mpi_blas_codes]
         - [$^blas_gcc]
         - [$^mpi_gcc]
         - [$%compiler_gcc]
 
     - matrix:
-        - [$blas_mpi_python_codes]
+        - [$mpi_blas_python_codes]
         - [$^blas_oneapi]
         - [$^mpi_oneapi]
         - [$^python_oneapi]
         - [$%compiler_oneapi]
 
     - matrix:
-        - [$blas_mpi_python_codes]
+        - [$mpi_blas_python_codes]
         - [$^blas_gcc]
         - [$^mpi_gcc]
         - [$^python_gcc]
         - [$%compiler_gcc]
 
     - matrix:
-        - [$gcc_blas_mpi_python_codes]
+        - [$gcc_mpi_blas_python_codes]
         - [$^blas_gcc]
         - [$^mpi_gcc]
         - [$^python_gcc]
-- 
GitLab