diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 814fc7248c8de375a0e55098f67c1d922261cc67..fcd67e3402341536274fef9d95cc67ba93305da4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,9 +30,17 @@ variables:
         stack: ["pinot-noir"]
         app_image: ["registry.c4science.ch/scitas-stack/rhel9-kuma:9.0"]
       # - environment: [izar]
-      #   slurm_options: ['-c 40 --gres gpu:2']
+      #   slurm_options: ['-c 40 --gpus 2']
       #   apptainer_options: ['-nv']
-
+      #   stack: ["pinot-noir"]
+      # - environment: [kuma-l40s]
+      #   slurm_options: ['-c 64 --gres gpu:8']
+      #   apptainer_options: ['-nv']
+      #   stack: ["pinot-noir"]
+      # - environment: [kuma-h100]
+      #   slurm_options: ['-c 64 --gres gpu:4']
+      #   apptainer_options: ['-nv']
+      #   stack: ["pinot-noir"]
   tags:
     - ${environment}
     - stack
diff --git a/stacks/pinot-noir/concretizer.yaml b/stacks/pinot-noir/concretizer.yaml
index 698e4c7865156575e6807306e18573c647c921c2..36bda7e6188ecc3fed843952906d6892ebb7757c 100644
--- a/stacks/pinot-noir/concretizer.yaml
+++ b/stacks/pinot-noir/concretizer.yaml
@@ -1,5 +1,11 @@
 concretizer:
-  reuse: false
+  reuse:
+    roots: true
+    include:
+      - '%gcc@11.4.1'
+    from:
+      - type: local
+
   unify: false
   duplicates:
     strategy: minimal
diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json
index 644aa7dad028e831178e7a06370a934ed4a06660..112a075080cdcd1c4c282e57be2b17016f258ee2 100644
--- a/stacks/pinot-noir/config.json
+++ b/stacks/pinot-noir/config.json
@@ -14,7 +14,7 @@
     },
     "stack": {
         "mount_point": "/stack",
-        "system_arch": "arch=linux-rhel9-x86_64_v2",
+        "system_arch": "target=x86_64_v3",
         "system_compiler": {
             "gcc@11": {
                 "compiler": "gcc",
@@ -74,7 +74,10 @@
             "pcre",
             "perl",
             "pkgconf",
+            "pmix",
+            "rdma-core",
             "readline",
+            "slurm",
             "sqlite",
             "texinfo",
             "zlib-ng"
diff --git a/stacks/pinot-noir/packages.yaml b/stacks/pinot-noir/packages.yaml
index bd0315c4d3fd9c8770be8f64bbc7c6998e819ffb..52e1dd1d80208a18755c6c8e34991796c30ec3d6 100644
--- a/stacks/pinot-noir/packages.yaml
+++ b/stacks/pinot-noir/packages.yaml
@@ -19,7 +19,7 @@ packages:
       - spec: "^cuda%gcc@13.2.0"
         when: '%gcc@13.2.0 ^cuda'
 
-      - spec: "^cuda%oneapi"
+      - spec: "^cuda +allow-unsupported-compilers %oneapi"
         when: '%oneapi ^cuda'
 
       - spec: "+ipo"
@@ -32,6 +32,10 @@ packages:
     require:
     - spec: '@12.4.0'
 
+  gnuplot:
+    require:
+    - spec: '@5.4.10'
+
   hdf5:
     variants: +hl +threadsafe +szip +cxx +fortran
 
@@ -39,6 +43,12 @@ packages:
     require:
     - spec: fabrics=mlx,mrail,psm3,verbs,udp,tcp,sockets,shm
 
+  llvm:
+    prefer: ['~clang']
+
+  mesa:
+    require: ['~llvm', '+opengl', '+opengles', '+osmesa']
+
   openmpi:
     require:
     - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs'
@@ -64,120 +74,15 @@ packages:
     externals:
     - spec: 'rdma-core@44.1'
       prefix: /usr
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
 
   slurm:
     buildable: false
     externals:
     - spec: 'slurm@23-11-0-1'
       prefix: /usr
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
 
   pmix:
     buildable: false
     externals:
     - spec: 'pmix@5.0.1'
       prefix: /usr
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  # ----------------------------------------------------------------------------
-  # Core compiler packages
-  # ----------------------------------------------------------------------------
-  autoconf:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  automake:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  autotools:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  ca-certificates-mozilla:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  cmake:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  diffutils:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  expat:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  findutils:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  freetype:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  gettext:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  glibc:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  gmake:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  gnuplot:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  libevent:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  m4:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  ncurses:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  openssl:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  pcre:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  perl:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  pkgconf:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  readline:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  sqlite:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  texinfo:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
-
-  zlib-ng:
-    require:
-    - spec: '%gcc@11.4.1 arch=linux-rhel9-x86_64_v2'
diff --git a/stacks/pinot-noir/packages_izar.yaml b/stacks/pinot-noir/packages_izar.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9ce65d95e200925fe7b5bd50d0f76c18b2f33097
--- /dev/null
+++ b/stacks/pinot-noir/packages_izar.yaml
@@ -0,0 +1,11 @@
+packages:
+  all:
+    target: ["cannonlake"]
+    require:
+      - spec: ^openmpi +cuda
+        when: '%gcc ^mpi'
+
+      - spec: cuda_arch=70
+        when: '+cuda'
+
+      - '+cuda'
diff --git a/stacks/pinot-noir/packages_kuma_h100.yaml b/stacks/pinot-noir/packages_kuma_h100.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..98433e3b2c1f32a96105e08e00b299ac1312fafe
--- /dev/null
+++ b/stacks/pinot-noir/packages_kuma_h100.yaml
@@ -0,0 +1,11 @@
+packages:
+  all:
+    target: ["zen4"]
+    require:
+      - spec: ^openmpi +cuda
+        when: '%gcc ^mpi'
+
+      - spec: cuda_arch=70
+        when: '+cuda'
+
+      - '+cuda'
diff --git a/stacks/pinot-noir/packages_kuma_l40s.yaml b/stacks/pinot-noir/packages_kuma_l40s.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ad6b8fb44336cd6730bb956c5d8489ff7f0acf0b
--- /dev/null
+++ b/stacks/pinot-noir/packages_kuma_l40s.yaml
@@ -0,0 +1,11 @@
+packages:
+  all:
+    target: ["zen4"]
+    require:
+      - spec: ^openmpi +cuda
+        when: '%gcc ^mpi'
+
+      - spec: cuda_arch=89
+        when: '+cuda'
+
+      - '+cuda'