diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e22e4cca..ba60bc62 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: fetch-depth: 0 # For pull requests it's not necessary to checkout the code - - uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a + - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 id: filter with: filters: | diff --git a/bin/benchpark b/bin/benchpark index f3854976..47010e19 100755 --- a/bin/benchpark +++ b/bin/benchpark @@ -6,12 +6,14 @@ # SPDX-License-Identifier: Apache-2.0 import argparse +from contextlib import contextmanager import os import pathlib import shlex import shutil import subprocess import sys +import yaml DEBUG = False @@ -185,10 +187,12 @@ def run_command(command_str, env=None): # Note: it would be nice to vendor spack.llnl.util.link_tree, but that # involves pulling in most of llnl/util/ and spack/util/ -def symlink_tree(src, dst): +def symlink_tree(src, dst, include_fn=None): """Like ``cp -R`` but instead of files, create symlinks""" src = os.path.abspath(src) dst = os.path.abspath(dst) + # By default, we include all filenames + include_fn = include_fn or (lambda f: True) for x in [src, dst]: if not os.path.isdir(x): raise ValueError(f"Not a directory: {x}") @@ -197,11 +201,30 @@ def symlink_tree(src, dst): dst_dir = pathlib.Path(dst) / relative_src_dir dst_dir.mkdir(parents=True, exist_ok=True) for x in files: + if not include_fn(x): + continue dst_symlink = dst_dir / x src_file = os.path.join(src_subdir, x) os.symlink(src_file, dst_symlink) +@contextmanager +def working_dir(location): + initial_dir = os.getcwd() + try: + os.chdir(location) + yield + finally: + os.chdir(initial_dir) + + +def git_clone_commit(url, commit, destination): + run_command(f"git clone -c feature.manyFiles=true {url} {destination}") + + with working_dir(destination): + run_command(f"git checkout {commit}") + + def benchpark_setup_handler(args): """ experiments_root/ @@ -257,13 +280,22 @@ def benchpark_setup_handler(args): configs_src_dir = source_dir / "configs" / str(system) experiment_src_dir = source_dir / "experiments" / benchmark modifier_config_dir = source_dir / "modifiers" / modifier / "configs" - + ramble_configs_dir.mkdir(parents=True) ramble_spack_experiment_configs_dir.mkdir(parents=True) - symlink_tree(configs_src_dir, ramble_configs_dir) - symlink_tree(experiment_src_dir, ramble_configs_dir) - symlink_tree(modifier_config_dir, ramble_configs_dir) - symlink_tree(source_dir / "configs" / "common", ramble_spack_experiment_configs_dir) + def include_fn(fname): + # Only include .yaml and .tpl files + # Always exclude files that start with "." + if fname.startswith("."): + return False + if fname.endswith(".yaml") or fname.endswith(".tpl"): + return True + return False + + symlink_tree(configs_src_dir, ramble_configs_dir, include_fn) + symlink_tree(experiment_src_dir, ramble_configs_dir, include_fn) + symlink_tree(modifier_config_dir, ramble_configs_dir, include_fn) + symlink_tree(source_dir / "configs" / "common", ramble_spack_experiment_configs_dir, include_fn) spack_location = experiments_root / "spack" ramble_location = experiments_root / "ramble" @@ -274,12 +306,16 @@ def benchpark_setup_handler(args): initializer_script = experiments_root / "setup.sh" + checkout_versions_location = source_dir / "checkout-versions.yaml" + with open(checkout_versions_location, "r") as yaml_file: + data = yaml.safe_load(yaml_file) + ramble_commit = data["versions"]["ramble"] + spack_commit = data["versions"]["spack"] + if not spack_location.exists(): print(f"Cloning spack into {spack_location}") - run_command( - "git clone --depth=1 -c feature.manyFiles=true " - "https://github.com/spack/spack.git " - f"{spack_location}" + git_clone_commit( + "https://github.com/spack/spack.git", spack_commit, spack_location ) env = {"SPACK_DISABLE_LOCAL_CONFIG": "1"} @@ -291,10 +327,10 @@ def benchpark_setup_handler(args): if not ramble_location.exists(): print(f"Cloning ramble into {ramble_location}") - run_command( - "git clone --depth=1 -c feature.manyFiles=true " - "https://github.com/GoogleCloudPlatform/ramble.git " - f"{ramble_location}" + git_clone_commit( + "https://github.com/GoogleCloudPlatform/ramble.git", + ramble_commit, + ramble_location, ) run_command(f"{ramble_exe} repo add --scope=site {source_dir}/repo") diff --git a/checkout-versions.yaml b/checkout-versions.yaml new file mode 100644 index 00000000..828ea103 --- /dev/null +++ b/checkout-versions.yaml @@ -0,0 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +versions: + ramble: 3d6d2670435c704ca815ae13abe49b10c5111638 + spack: 31de670bd26beca979ebd75dcb0ce90c535a78c4 diff --git a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/compilers.yaml b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/compilers.yaml index 25129f76..3b3f364c 100644 --- a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/compilers.yaml +++ b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/compilers.yaml @@ -4,25 +4,6 @@ # SPDX-License-Identifier: Apache-2.0 compilers: -- compiler: - spec: fj@4.10.0 - modules: [] - paths: - cc: /opt/FJSVxtclanga/tcsds-1.2.38/bin/fcc - cxx: /opt/FJSVxtclanga/tcsds-1.2.38/bin/FCC - f77: /opt/FJSVxtclanga/tcsds-1.2.38/bin/frt - fc: /opt/FJSVxtclanga/tcsds-1.2.38/bin/frt - flags: {} - operating_system: rhel8 - target: aarch64 - environment: - set: - fcc_ENV: -Nclang - FCC_ENV: -Nclang - prepend_path: - PATH: /opt/FJSVxtclanga/tcsds-1.2.38/bin - LD_LIBRARY_PATH: /opt/FJSVxtclanga/tcsds-1.2.38/lib64 - extra_rpaths: [] - compiler: spec: fj@4.8.1 modules: [] @@ -43,83 +24,27 @@ compilers: LD_LIBRARY_PATH: /opt/FJSVxtclanga/tcsds-1.2.36/lib64 extra_rpaths: [] - compiler: - spec: fj@4.8.0 - modules: [] - paths: - cc: /opt/FJSVxtclanga/tcsds-1.2.35/bin/fcc - cxx: /opt/FJSVxtclanga/tcsds-1.2.35/bin/FCC - f77: /opt/FJSVxtclanga/tcsds-1.2.35/bin/frt - fc: /opt/FJSVxtclanga/tcsds-1.2.35/bin/frt - flags: {} - operating_system: rhel8 - target: aarch64 - environment: - set: - fcc_ENV: -Nclang - FCC_ENV: -Nclang - prepend_path: - PATH: /opt/FJSVxtclanga/tcsds-1.2.35/bin - LD_LIBRARY_PATH: /opt/FJSVxtclanga/tcsds-1.2.35/lib64 - extra_rpaths: [] -- compiler: - spec: fj@4.7.0 - modules: [] + spec: clang@15.0.3 paths: - cc: /opt/FJSVxtclanga/tcsds-1.2.34/bin/fcc - cxx: /opt/FJSVxtclanga/tcsds-1.2.34/bin/FCC - f77: /opt/FJSVxtclanga/tcsds-1.2.34/bin/frt - fc: /opt/FJSVxtclanga/tcsds-1.2.34/bin/frt - flags: {} - operating_system: rhel8 - target: aarch64 + cc: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/clang + cxx: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/clang++ + f77: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/flang + fc: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/flang + flags: + cflags: {"-msve-vector-bits=scalable"} + cxxflags: {"-msve-vector-bits=scalable"} + ldflags: {"-fuse-ld=lld -lelf -ldl"} environment: set: - fcc_ENV: -Nclang - FCC_ENV: -Nclang - prepend_path: - PATH: /opt/FJSVxtclanga/tcsds-1.2.34/bin - LD_LIBRARY_PATH: /opt/FJSVxtclanga/tcsds-1.2.34/lib64 - extra_rpaths: [] -- compiler: - paths: - cc: /usr/bin/gcc - cxx: /usr/bin/g++ - f77: /usr/bin/gfortran - fc: /usr/bin/gfortran + OMPI_CC: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/clang + OMPI_CXX: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/clang++ + OMPI_FC: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/flang + OMPI_F77: /vol0004/apps/oss/llvm-v15.0.3/compute_node/bin/flang + append_path: + LD_LIBRARY_PATH: /opt/FJSVxtclanga/tcsds-1.2.36/lib64 operating_system: rhel8 target: aarch64 modules: [] - environment: - unset: [] - extra_rpaths: [] - flags: {} - spec: gcc@8.5.0 -- compiler: - paths: - cc: /usr/bin/gcc - cxx: /usr/bin/g++ - f77: /usr/bin/gfortran - fc: /usr/bin/gfortran - operating_system: rhel8 - target: x86_64 - modules: [] - environment: - unset: [] - extra_rpaths: [] - flags: {} - spec: gcc@8.4.1 -- compiler: - spec: gcc@12.2.0 - paths: - cc: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-skylake_avx512/gcc-8.4.1/gcc-12.2.0-bjidm56oz6mejysl3wvjr3mbn7sqk3ec/bin/gcc - cxx: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-skylake_avx512/gcc-8.4.1/gcc-12.2.0-bjidm56oz6mejysl3wvjr3mbn7sqk3ec/bin//g++ - f77: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-skylake_avx512/gcc-8.4.1/gcc-12.2.0-bjidm56oz6mejysl3wvjr3mbn7sqk3ec/bin/gfortran - fc: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-skylake_avx512/gcc-8.4.1/gcc-12.2.0-bjidm56oz6mejysl3wvjr3mbn7sqk3ec/bin/gfortran - flags: {} - operating_system: rhel8 - target: x86_64 - modules: [] - environment: {} extra_rpaths: [] - compiler: spec: gcc@12.2.0 @@ -128,9 +53,19 @@ compilers: cxx: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/g++ f77: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/gfortran fc: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/gfortran - flags: {} + flags: + ldflags: {"-lelf -ldl"} + environment: + set: + OMPI_CC: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/gcc + OMPI_CXX: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/g++ + OMPI_FC: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/gfortran + OMPI_F77: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/gcc-8.5.0/gcc-12.2.0-sxcx7kmt3qiktffgzzvrj2wmup3g32bc/bin/gfortran + OPAL_PREFIX: /vol0004/apps/oss/mpigcc/fjmpi-gcc12 + append_path: + LD_LIBRARY_PATH: /opt/FJSVxtclanga/tcsds-1.2.36/lib64 operating_system: rhel8 target: aarch64 modules: [] - environment: {} extra_rpaths: [] + diff --git a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/packages.yaml b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/packages.yaml index 591b98eb..8bb9a74e 100644 --- a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/packages.yaml +++ b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/auxiliary_software_files/packages.yaml @@ -5,458 +5,206 @@ packages: all: - compiler: [fj, gcc] + compiler: [fj, clang, gcc] providers: mpi: [fujitsu-mpi, openmpi, mpich] blas: [fujitsu-ssl2, openblas] lapack: [fujitsu-ssl2, openblas] scalapack: [fujitsu-ssl2, netlib-scalapack] - fftw-api: [fujitsu-fftw, fftw, rist-fftw] + fftw-api: [fujitsu-ssl2, fftw, rist-fftw] permissions: write: group htslib: version: [1.12] python: externals: - - spec: "python@3.10.8%fj +ssl arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/fj-4.8.1/python-3.10.8-7q66snjvhvy7im57hncbgpirmddrb5sk - - spec: "python@3.10.8%fj +ssl+tkinter arch=linux-rhel8-a64fx" + - spec: "python@3.10.8%fj@4.8.1 +ssl+tkinter arch=linux-rhel8-a64fx" prefix: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-a64fx/fj-4.8.1/python-3.10.8-5q3ncyl2my7oomopsmukduqo36u6pnkg - - spec: "python@3.10.8%gcc +ssl arch=linux-rhel8-cascadelake" - prefix: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-cascadelake/gcc-12.2.0/python-3.10.8-yt6afcnywa36aebxovs3ldscknyzlva3 - - spec: "python@3.10.8%gcc +ssl+tkinter arch=linux-rhel8-cascadelake" - prefix: /vol0004/apps/oss/spack-v0.19/opt/spack/linux-rhel8-cascadelake/gcc-12.2.0/python-3.10.8-a5u7ucknpzdipu2dd3d7hf2ybkdyprly openssh: permissions: write: user fujitsu-mpi: - version: [head, 4.8.1, 4.8.0, 4.7.0] externals: - - spec: "fujitsu-mpi@head%fj arch=linux-rhel8-a64fx" - prefix: /opt/FJSVxtclanga/tcsds-mpi-latest - - spec: "fujitsu-mpi@4.8.1%fj arch=linux-rhel8-a64fx" + - spec: "fujitsu-mpi@4.8.1%fj@4.8.1 arch=linux-rhel8-a64fx" prefix: /opt/FJSVxtclanga/tcsds-mpi-1.2.36 - - spec: "fujitsu-mpi@4.8.0%fj arch=linux-rhel8-a64fx" - prefix: /opt/FJSVxtclanga/tcsds-mpi-1.2.35 - - spec: "fujitsu-mpi@4.7.0%fj arch=linux-rhel8-a64fx" - prefix: /opt/FJSVxtclanga/tcsds-1.2.34 - - spec: "fujitsu-mpi@head%gcc@12.2.0 arch=linux-rhel8-a64fx" + - spec: "fujitsu-mpi@4.8.1%clang@15.0.3 arch=linux-rhel8-a64fx" + prefix: /opt/FJSVxtclanga/tcsds-mpi-1.2.36 + - spec: "fujitsu-mpi@4.8.1%gcc@12.2.0 arch=linux-rhel8-a64fx" prefix: /vol0004/apps/oss/mpigcc/fjmpi-gcc12 - - spec: "fujitsu-mpi@head%gcc@10.4.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/oss/mpigcc/fjmpi-gcc10 - - spec: "fujitsu-mpi@head%gcc@8.5.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/oss/mpigcc/fjmpi-gcc8 buildable: False fujitsu-ssl2: - version: [head, 4.8.1, 4.8.0, 4.7.0] externals: - - spec: "fujitsu-ssl2@head%fj arch=linux-rhel8-a64fx" - prefix: /opt/FJSVxtclanga/tcsds-ssl2-latest - - spec: "fujitsu-ssl2@4.8.1%fj arch=linux-rhel8-a64fx" + - spec: "fujitsu-ssl2@4.8.1%fj@4.8.1 arch=linux-rhel8-a64fx" + prefix: /opt/FJSVxtclanga/tcsds-ssl2-1.2.36 + - spec: "fujitsu-ssl2@4.8.1%clang@15.0.3 arch=linux-rhel8-a64fx" + prefix: /opt/FJSVxtclanga/tcsds-ssl2-1.2.36 + - spec: "fujitsu-ssl2@4.8.1%gcc@12.2.0 arch=linux-rhel8-a64fx" prefix: /opt/FJSVxtclanga/tcsds-ssl2-1.2.36 - - spec: "fujitsu-ssl2@4.8.0%fj arch=linux-rhel8-a64fx" - prefix: /opt/FJSVxtclanga/tcsds-ssl2-1.2.35 - - spec: "fujitsu-ssl2@4.7.0%fj arch=linux-rhel8-a64fx" - prefix: /opt/FJSVxtclanga/tcsds-1.2.34 - buildable: False - rist-fftw: - externals: - - spec: "rist-fftw@3.3.9-272-g63d6bd70 arch=linux-rhel8-a64fx" - prefix: /vol0004/share/rist/fftw/gcc-10.3.0/3.3.9-272-g63d6bd70 - buildable: False - ntchem: - externals: - - spec: "ntchem@13.0.0%fj@4.8.1 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/ntchem/aarch64/NTChem2013/13.0.0/tcsds-1.2.36/release_mpiomp - - spec: "ntchem@12.2.0%fj arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/ntchem/aarch64/NTChem2013/12.2.0/tcsds-1.2.34/release_mpiomp - buildable: False - abinitmp: - externals: - - spec: "abinitmp@1-22%fj@4.8.1 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/SPACK-Feb2023-ABINIT-MP-VER1-REV22 - - spec: "abinitmp@2-4%fj@4.8.1 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/SPACK-Feb2023-ABINIT-MP-VER2-REV4 - - spec: "abinitmp@2-8%fj@4.8.1 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/SPACK-Jan2024-ABINIT-MP-VER2-REV8 - buildable: False - fds: - externals: - - spec: "fds@6.7.7%fj@4.8.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/FDS/fds-FDS6.7.7/Build/mpi_fugaku - - spec: "fds@6.7.9%fj@4.8.1 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/FDS/fds-FDS6.7.9/Build/mpi_fugaku - buildable: False - ffvhc-ace: - externals: - - spec: "ffvhc-ace@0.1%fj@4.8.1 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/FFVHC-ACE/0.1/bin - buildable: False - quantum-espresso: - externals: - - spec: "quantum-espresso@6.5%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-6.5/bin - - spec: "quantum-espresso@6.6%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-6.6/bin - - spec: "quantum-espresso@6.7%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-6.7/bin - - spec: "quantum-espresso@6.8%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-6.8/bin - - spec: "quantum-espresso@7.0%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-7.0/bin - - spec: "quantum-espresso@7.1%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-7.1/bin - - spec: "quantum-espresso@7.2%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-7.2/bin - - spec: "quantum-espresso@7.3%fj@4.10.0 arch=linux-rhel8-a64fx" - prefix: /vol0004/apps/opt/qe-7.3/bin buildable: False autoconf: externals: - spec: "autoconf@2.69 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "autoconf@2.69 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "autoconf@2.69 arch=linux-rhel8-skylake_avx512" - prefix: /usr automake: externals: - spec: "automake@1.16.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "automake@1.16.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "automake@1.16.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr binutils: externals: - spec: "binutils@2.30 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "binutils@2.30 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "binutils@2.30 arch=linux-rhel8-skylake_avx512" - prefix: /usr bzip2: externals: - spec: "bzip2@1.0.6 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "bzip2@1.0.6 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "bzip2@1.0.6 arch=linux-rhel8-skylake_avx512" - prefix: /usr curl: externals: - spec: "curl@7.61.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "curl@7.61.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "curl@7.61.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr dbus: externals: - spec: "dbus@1.12.8 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "dbus@1.12.8 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "dbus@1.12.8 arch=linux-rhel8-skylake_avx512" - prefix: /usr elfutils: externals: - - spec: "elfutils@0.186 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "elfutils@0.182 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "elfutils@0.182 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "elfutils@0.182 arch=linux-rhel8-skylake_avx512" + - spec: "elfutils@0.188 arch=linux-rhel8-a64fx" prefix: /usr expat: externals: - spec: "expat@2.2.5 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "expat@2.2.5 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "expat@2.2.5 arch=linux-rhel8-skylake_avx512" - prefix: /usr findutils: externals: - spec: "findutils@4.6.0 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "findutils@4.6.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "findutils@4.6.0 arch=linux-rhel8-skylake_avx512" - prefix: /usr fontconfig: externals: - spec: "fontconfig@2.13.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "fontconfig@2.13.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "fontconfig@2.13.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr freetype: externals: - spec: "freetype@2.9.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "freetype@2.9.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "freetype@2.9.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr gmake: externals: - spec: "gmake@4.2.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "gmake@4.2.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "gmake@4.2.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr gdbm: externals: - spec: "gdbm@1.18 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "gdbm@1.18 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "gdbm@1.18 arch=linux-rhel8-skylake_avx512" - prefix: /usr gettext: externals: - spec: "gettext@0.19.8.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "gettext@0.19.8.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "gettext@0.19.8.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr gmp: externals: - spec: "gmp@6.1.2 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "gmp@6.1.2 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "gmp@6.1.2 arch=linux-rhel8-skylake_avx512" - prefix: /usr gnutls: externals: - spec: "gnutls@3.6.16 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "gnutls@3.6.14 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "gnutls@3.6.14 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "gnutls@3.6.14 arch=linux-rhel8-skylake_avx512" - prefix: /usr hwloc: externals: - spec: "hwloc@2.2.0 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "hwloc@2.2.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "hwloc@2.2.0 arch=linux-rhel8-skylake_avx512" - prefix: /usr jansson: externals: - spec: "jansson@2.14 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "jansson@2.11 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "jansson@2.11 arch=linux-rhel8-skylake_avx512" - prefix: /usr libaio: externals: - spec: "libaio@0.3.112 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libaio@0.3.112 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libaio@0.3.112 arch=linux-rhel8-skylake_avx512" - prefix: /usr libcap: externals: - spec: "libcap@2.48 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libcap@2.26 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libcap@2.26 arch=linux-rhel8-skylake_avx512" - prefix: /usr libdrm: externals: - - spec: "libdrm@2.4.108 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "libdrm@2.4.103 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "libdrm@2.4.103 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libdrm@2.4.103 arch=linux-rhel8-skylake_avx512" + - spec: "libdrm@2.4.114 arch=linux-rhel8-a64fx" prefix: /usr libedit: externals: - spec: "libedit@3.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libedit@3.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libedit@3.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr libevent: externals: - spec: "libevent@2.1.8 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libevent@2.1.8 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libevent@2.1.8 arch=linux-rhel8-skylake_avx512" - prefix: /usr libfabric: externals: - spec: "libfabric@1.14.0 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libfabric@1.11.2 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libfabric@1.11.2 arch=linux-rhel8-skylake_avx512" - prefix: /usr libffi: externals: - spec: "libffi@3.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libffi@3.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libffi@3.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr libglvnd: externals: - spec: "libglvnd@1.3.4 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libglvnd@1.3.2 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libglvnd@1.3.2 arch=linux-rhel8-skylake_avx512" - prefix: /usr - libibumad: - externals: - - spec: "libibumad@37.2 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "libibumad@32.0 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "libibumad@54mlnx1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libibumad@54mlnx1 arch=linux-rhel8-skylake_avx512" - prefix: /usr libpciaccess: externals: - spec: "libpciaccess@0.14 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libpciaccess@0.14 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libpciaccess@0.14 arch=linux-rhel8-skylake_avx512" - prefix: /usr libpng: externals: - spec: "libpng@1.6.34 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libpng@1.6.34 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libpng@1.6.34 arch=linux-rhel8-skylake_avx512" - prefix: /usr libtasn1: externals: - spec: "libtasn1@4.13 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libtasn1@4.13 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libtasn1@4.13 arch=linux-rhel8-skylake_avx512" - prefix: /usr libtirpc: externals: - spec: "libtirpc@1.1.4 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libtirpc@1.1.4 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libtirpc@1.1.4 arch=linux-rhel8-skylake_avx512" - prefix: /usr libtool: externals: - spec: "libtool@2.4.6 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libtool@2.4.6 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libtool@2.4.6 arch=linux-rhel8-skylake_avx512" - prefix: /usr libuuid: externals: - spec: "libuuid@2.32.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libuuid@2.32.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libuuid@2.32.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr libxcb: externals: - spec: "libxcb@1.13.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libxcb@1.13.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libxcb@1.13.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr libxkbcommon: externals: - spec: "libxkbcommon@0.9.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libxkbcommon@0.9.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libxkbcommon@0.9.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr libxml2: externals: - spec: "libxml2@2.9.7 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "libxml2@2.9.7 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "libxml2@2.9.7 arch=linux-rhel8-skylake_avx512" - prefix: /usr lz4: externals: - spec: "lz4@1.8.3 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "lz4@1.8.3 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "lz4@1.8.3 arch=linux-rhel8-skylake_avx512" - prefix: /usr m4: externals: - spec: "m4@1.4.18 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "m4@1.4.18 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "m4@1.4.18 arch=linux-rhel8-skylake_avx512" - prefix: /usr ncurses: externals: - spec: "ncurses@6.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "ncurses@6.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "ncurses@6.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr nettle: externals: - spec: "nettle@3.4.1 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "nettle@3.4.1 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "nettle@3.4.1 arch=linux-rhel8-skylake_avx512" - prefix: /usr nspr: externals: - - spec: "nspr@4.32.0 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "nspr@4.25.0 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "nspr@4.25.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "nspr@4.25.0 arch=linux-rhel8-skylake_avx512" + - spec: "nspr@4.34.0 arch=linux-rhel8-a64fx" prefix: /usr numactl: externals: - spec: "numactl@2.0.12 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "numactl@2.0.12 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "numactl@2.0.12 arch=linux-rhel8-skylake_avx512" - prefix: /usr opengl: buildable: False externals: @@ -467,114 +215,51 @@ packages: externals: - spec: "openssl@1.1.1k arch=linux-rhel8-a64fx" prefix: /usr - - spec: "openssl@1.1.1g arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "openssl@1.1.1k arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "openssl@1.1.1k arch=linux-rhel8-skylake_avx512" - prefix: /usr papi: externals: - spec: "papi@5.6.0 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "papi@5.6.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "papi@5.6.0 arch=linux-rhel8-skylake_avx512" - prefix: /usr pcre: externals: - spec: "pcre@8.42 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "pcre@8.42 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "pcre@8.42 arch=linux-rhel8-skylake_avx512" - prefix: /usr perl: externals: - spec: "perl@5.26.3 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "perl@5.26.3 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "perl@5.26.3 arch=linux-rhel8-skylake_avx512" - prefix: /usr pkgconf: externals: - spec: "pkgconf@1.4.2 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "pkgconf@1.4.2 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "pkgconf@1.4.2 arch=linux-rhel8-skylake_avx512" - prefix: /usr popt: externals: - spec: "popt@1.18 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "popt@1.18 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "popt@1.18 arch=linux-rhel8-skylake_avx512" - prefix: /usr readline: externals: - spec: "readline@7.0 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "readline@7.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "readline@7.0 arch=linux-rhel8-skylake_avx512" - prefix: /usr sqlite: externals: - spec: "sqlite@3.26.0 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "sqlite@3.26.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "sqlite@3.26.0 arch=linux-rhel8-skylake_avx512" - prefix: /usr tcl: externals: - spec: "tcl@8.6.8 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "tcl@8.6.8 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "tcl@8.6.8 arch=linux-rhel8-skylake_avx512" - prefix: /usr - ucx: - externals: - - spec: "ucx@1.11.2 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "ucx@1.9.0 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "ucx@1.11.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "ucx@1.11.0 arch=linux-rhel8-skylake_avx512" - prefix: /usr valgrind: externals: - - spec: "valgrind@3.18.1 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "valgrind@3.16.0 arch=linux-rhel8-a64fx" - prefix: /usr - - spec: "valgrind@3.16.0 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "valgrind@3.16.0 arch=linux-rhel8-skylake_avx512" + - spec: "valgrind@3.19.0 arch=linux-rhel8-a64fx" prefix: /usr xz: externals: - spec: "xz@5.2.4 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "xz@5.2.4 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "xz@5.2.4 arch=linux-rhel8-skylake_avx512" - prefix: /usr zlib: externals: - spec: "zlib@1.2.11 arch=linux-rhel8-a64fx" prefix: /usr - - spec: "zlib@1.2.11 arch=linux-rhel8-cascadelake" - prefix: /usr - - spec: "zlib@1.2.11 arch=linux-rhel8-skylake_avx512" - prefix: /usr buildable: False - # pmlib: had problems with spack. so far binary packages only. 2023/3/20 mikami pmlib: externals: - spec: "pmlib@9.0-clang-precise arch=linux-rhel8-a64fx" diff --git a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/spack.yaml b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/spack.yaml index 81facd97..49212d2d 100644 --- a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/spack.yaml +++ b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/spack.yaml @@ -6,20 +6,31 @@ spack: packages: default-compiler: - spack_spec: fj@{default_fj_version} - default-mpi: - spack_spec: fujitsu-mpi@{default_fj_version}%fj arch=linux-rhel8-a64fx - compiler-gcc: + #spack_spec: fj@{default_fj_version} + #spack_spec: clang@{default_llvm_version} spack_spec: gcc@{default_gnu_version} + default-mpi: + spack_spec: fujitsu-mpi@{default_fj_version} arch=linux-rhel8-a64fx compiler-fujitsu: spack_spec: fj@{default_fj_version} + compiler-clang: + spack_spec: clang@{default_llvm_version} + compiler-gcc: + spack_spec: gcc@{default_gnu_version} blas: - spack_spec: fujitsu-ssl2@head%fj arch=linux-rhel8-a64fx + spack_spec: fujitsu-ssl2@{default_fj_version} arch=linux-rhel8-a64fx lapack: - spack_spec: fujitsu-ssl2@head%fj arch=linux-rhel8-a64fx - mpi-gcc: - spack_spec: fujitsu-mpi@head%gcc@{default_gnu_version} arch=linux-rhel8-a64fx + spack_spec: fujitsu-ssl2@{default_fj_version} arch=linux-rhel8-a64fx + fftw: + spack_spec: fujitsu-ssl2@{default_fj_version} arch=linux-rhel8-a64fx mpi-fujitsu: - spack_spec: fujitsu-mpi@{default_fj_version}%fj arch=linux-rhel8-a64fx + spack_spec: fujitsu-mpi@{default_fj_version} arch=linux-rhel8-a64fx + mpi-clang: + spack_spec: fujitsu-mpi@{default_fj_version} arch=linux-rhel8-a64fx + mpi-gcc: + spack_spec: fujitsu-mpi@{default_fj_version} arch=linux-rhel8-a64fx gmake: spack_spec: gmake@4.2.1 arch=linux-rhel8-a64fx + cmake: + spack_spec: cmake@3.20.2 arch=linux-rhel8-a64fx + diff --git a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/variables.yaml b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/variables.yaml index b4db683c..abb7ba2f 100644 --- a/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/variables.yaml +++ b/configs/RCCS-Fugaku-Fujitsu-A64FX-TofuD/variables.yaml @@ -11,4 +11,6 @@ variables: batch_ranks: '#PJM --mpi proc={n_ranks}' batch_timeout: '#PJM -L "elapse={batch_time}:00" -x PJM_LLIO_GFSCACHE="/vol0001:/vol0002:/vol0003:/vol0004:/vol0005:/vol0006"' default_fj_version: '4.8.1' + default_llvm_version: '15.0.3' default_gnu_version: '12.2.0' +