diff --git a/stacks/pinot-noir/packages_stack.yaml b/stacks/pinot-noir/packages_stack.yaml
index 611328aaec793d4e4b3f800559bb69c87d214645..b7742eeb6e8e365d9a6608268c713ca375dde2c0 100644
--- a/stacks/pinot-noir/packages_stack.yaml
+++ b/stacks/pinot-noir/packages_stack.yaml
@@ -16,7 +16,25 @@ packages:
       - spec: ^nvhpc+mpi
         when: '%nvhpc ^mpi'
 
-      - spec: '^cuda%gcc@12.3.0'
+      - spec: '^openblas %gcc@12.3.0'
+        when: '%gcc@12.3.0 ^blas'
+
+      - spec: '^openblas %gcc@12.3.0'
+        when: '%gcc@12.3.0 ^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: '^cuda %gcc@12.3.0'
         when: '%gcc@12.3.0 ^cuda'
 
       - spec: '^cuda +allow-unsupported-compilers %oneapi'
@@ -41,6 +59,9 @@ packages:
   hdf5:
     variants: +hl +threadsafe +szip +cxx +fortran
 
+  intel-oneapi-mkl:
+    prefer: ['+cluster']
+
   libfabric:
     require:
     - spec: fabrics=mlx,mrail,psm3,verbs,udp,tcp,sockets,shm
@@ -51,6 +72,9 @@ packages:
   mesa:
     require: ['~llvm', '+opengl', '+opengles', '+osmesa']
 
+  openblas:
+    prefer: ['threads=pthreads']
+
   openmpi:
     require:
     - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs'
diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml
index df90faa8a85a9456ebc249f5b1d40460be34e563..041606fd50548449906ec7b121de83ef573e3c39 100644
--- a/stacks/pinot-noir/spack.yaml
+++ b/stacks/pinot-noir/spack.yaml
@@ -10,6 +10,7 @@ spack:
     - mpi_codes:
         - osu-micro-benchmarks +graphing
         - hdf5 +mpi
+        - petsc +mpi
 
     - mpi_oneapi:
         - intel-oneapi-mpi