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'