Spack Prototype for PSI

This commit is contained in:
2023-04-27 08:06:59 +00:00
parent 8a0d620eb0
commit adb8e3eb09
53 changed files with 91348 additions and 2826 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
__pycache__/
.spack-env

View File

@ -4,11 +4,9 @@ variables:
GIT_STRATEGY: clone
MAX_JOB_NB: 4
SPACK_BRANCH: develop
SPACK_COMPILER: gcc
SPACK_PCKG_VERSION: develop
SPACK_PCKG: py-hiqsimulator
SPACK_PCKG: ffbidx
SPACK_PCKG_VERSION: main
SPACK_REPO: https://github.com/spack/spack.git
SPACK_SPEC: ${SPACK_PCKG}@${SPACK_PCKG_VERSION}%${SPACK_COMPILER}
build_test:
tags:
@ -17,13 +15,18 @@ build_test:
script:
- git clone ${SPACK_REPO} -b ${SPACK_BRANCH}
- . "./spack/share/spack/setup-env.sh"
- source /opt/psi/config/profile.bash
- module load git-lfs
- spack clean -a # Make sure spack doesn't have any caches left
- spack env activate --without-view env/merlin/${SPACK_PCKG}
- spack install -j ${MAX_JOB_NB} --add git-lfs ^go@1.18
- spack develop ${SPACK_SPEC}
- rm -rf /scratch/${USER}/spack-dev/${SPACK_PCKG} # Remove previous packages
- spack uninstall -Ray
- SPACK_PCKG_LOWERCASE=$(echo "${SPACK_PCKG,,}")
- if [[ "$SPACK_PCKG_LOWERCASE" == "hiqsimulator" ]]; then
- SPACK_PCKG_LOWERCASE="py-$SPACK_PCKG_LOWERCASE"
- fi
- spack env activate --without-view env/$(spack arch -o)/${SPACK_PCKG_LOWERCASE}
- spack develop --path /scratch/\$user/spack-dev/${SPACK_PCKG} --force ${SPACK_PCKG_LOWERCASE}@${SPACK_PCKG_VERSION}
- spack install -j ${MAX_JOB_NB}
- spack load ${SPACK_SPEC}
- cd env/merlin/${SPACK_PCKG}/${SPACK_PCKG}
- ls -la
- spack load
# - JOB_ID=$(sbatch --parsable ../test/run.slurm)
# - cat slurm-${JOB_ID}.out

View File

@ -1,796 +0,0 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import copy
import os
import os.path
import spack.util.environment
from spack.package import *
class Cp2k(MakefilePackage, CudaPackage):
"""CP2K is a quantum chemistry and solid state physics software package
that can perform atomistic simulations of solid state, liquid, molecular,
periodic, material, crystal, and biological systems
"""
homepage = "https://www.cp2k.org"
url = "https://github.com/cp2k/cp2k/releases/download/v3.0.0/cp2k-3.0.tar.bz2"
git = "https://github.com/cp2k/cp2k.git"
list_url = "https://github.com/cp2k/cp2k/releases"
maintainers = ["dev-zero"]
version("2022.1", sha256="2c34f1a7972973c62d471cd35856f444f11ab22f2ff930f6ead20f3454fd228b")
version("9.1", sha256="fedb4c684a98ad857cd49b69a3ae51a73f85a9c36e9cb63e3b02320c74454ce6")
version("8.2", sha256="2e24768720efed1a5a4a58e83e2aca502cd8b95544c21695eb0de71ed652f20a")
version("8.1", sha256="7f37aead120730234a60b2989d0547ae5e5498d93b1e9b5eb548c041ee8e7772")
version("7.1", sha256="ccd711a09a426145440e666310dd01cc5772ab103493c4ae6a3470898cd0addb")
version("6.1", sha256="af803558e0a6b9e9d9ce8a3ab955ba32bacd179922455424e061c82c9fefa34b")
version("5.1", sha256="e23613b593354fa82e0b8410e17d94c607a0b8c6d9b5d843528403ab09904412")
version("4.1", sha256="4a3e4a101d8a35ebd80a9e9ecb02697fb8256364f1eccdbe4e5a85d31fe21343")
version("3.0", sha256="1acfacef643141045b7cbade7006f9b7538476d861eeecd9658c9e468dc61151")
version("master", branch="master", submodules="True")
variant("mpi", default=True, description="Enable MPI support")
variant("openmp", default=True, description="Enable OpenMP support")
variant(
"smm",
default="libxsmm",
values=("libxsmm", "libsmm", "blas"),
description="Library for small matrix multiplications",
)
variant("plumed", default=False, description="Enable PLUMED support")
variant(
"libint", default=True, description="Use libint, required for HFX (and possibly others)"
)
variant("libxc", default=True, description="Support additional functionals via libxc")
variant(
"pexsi",
default=False,
description=("Enable the alternative PEXSI method" "for density matrix evaluation"),
)
variant(
"elpa", default=False, description="Enable optimised diagonalisation routines from ELPA"
)
variant(
"sirius",
default=False,
description=("Enable planewave electronic structure" " calculations via SIRIUS"),
)
variant("cosma", default=False, description="Use COSMA for p?gemm")
variant(
"libvori",
default=False,
description=("Enable support for Voronoi integration" " and BQB compression"),
)
variant("spglib", default=False, description="Enable support for spglib")
with when("+cuda"):
variant(
"cuda_arch_35_k20x",
default=False,
description=(
"CP2K (resp. DBCSR) has specific parameter sets for"
" different GPU models. Enable this when building"
" with cuda_arch=35 for a K20x instead of a K40"
),
)
variant(
"cuda_fft",
default=False,
description=("Use CUDA also for FFTs in the PW part of CP2K"),
)
variant(
"cuda_blas",
default=False,
when="@:7", # req in CP2K v8+
description=("Use CUBLAS for general matrix operations in DBCSR"),
)
HFX_LMAX_RANGE = range(4, 8)
variant(
"lmax",
description="Maximum supported angular momentum (HFX and others)",
default="5",
values=[str(x) for x in HFX_LMAX_RANGE],
multi=False,
)
depends_on("python", type="build")
depends_on("python@3:", when="@8:", type="build")
depends_on("blas")
depends_on("lapack")
depends_on("fftw-api@3")
# Force openmp propagation on some providers of blas / fftw-api
with when("+openmp"):
depends_on("fftw+openmp", when="^fftw")
depends_on("amdfftw+openmp", when="^amdfftw")
depends_on("cray-fftw+openmp", when="^cray-fftw")
depends_on("openblas threads=openmp", when="^openblas")
# The Cray compiler wrappers will automatically add libsci_mp with
# -fopenmp. Since CP2K unconditionally links blas/lapack/scalapack
# we have to be consistent.
depends_on("cray-libsci+openmp", when="^cray-libsci")
with when("smm=libxsmm"):
depends_on("libxsmm@1.17:~header-only", when="@9.1:")
# require libxsmm-1.11+ since 1.10 can leak file descriptors in Fortran
depends_on("libxsmm@1.11:~header-only", when="@:8.9")
# use pkg-config (support added in libxsmm-1.10) to link to libxsmm
depends_on("pkgconfig", type="build")
# please set variants: smm=blas by configuring packages.yaml or install
# cp2k with option smm=blas on aarch64
conflicts("target=aarch64:", msg="libxsmm is not available on arm")
with when("+libint"):
# ... and in CP2K 7.0+ for linking to libint2
depends_on("pkgconfig", type="build", when="@7.0:")
# libint & libxc are always statically linked
depends_on("libint@1.1.4:1.2", when="@3.0:6.9")
for lmax in HFX_LMAX_RANGE:
# libint2 can be linked dynamically again
depends_on(
"libint@2.6.0:+fortran tune=cp2k-lmax-{0}".format(lmax),
when="@7.0: lmax={0}".format(lmax),
)
with when("+libxc"):
depends_on("pkgconfig", type="build", when="@7.0:")
depends_on("libxc@2.2.2:3", when="@:5", type="build")
depends_on("libxc@4.0.3:4", when="@6.0:6.9", type="build")
depends_on("libxc@4.0.3:4", when="@7.0:8.1")
depends_on("libxc@5.1.3:5.1", when="@8.2:8")
depends_on("libxc@5.1.7:5.1", when="@9:")
with when("+mpi"):
depends_on("mpi@2:")
depends_on("scalapack")
with when("+cosma"):
depends_on("cosma+scalapack")
depends_on("cosma@2.5.1:", when="@9:")
depends_on("cosma+cuda", when="+cuda")
conflicts("~mpi")
# COSMA support was introduced in 8+
conflicts("@:7")
with when("+elpa"):
conflicts("~mpi", msg="elpa requires MPI")
depends_on("elpa+openmp", when="+openmp")
depends_on("elpa~openmp", when="~openmp")
depends_on("elpa@2011.12:2016.13", when="@:5")
depends_on("elpa@2011.12:2017.11", when="@6.0:6")
depends_on("elpa@2018.05:2020.11.001", when="@7.0:8.2")
depends_on("elpa@2021.05:", when="@8.3:")
depends_on("elpa@2021.11.001:", when="@9.1:")
with when("+plumed"):
depends_on("plumed+shared")
depends_on("plumed+mpi", when="+mpi")
depends_on("plumed~mpi", when="~mpi")
# while we link statically against PEXSI, its own deps may be linked in
# dynamically, therefore can't set this as pure build-type dependency.
with when("+pexsi"):
conflicts("~mpi", msg="pexsi requires MPI")
depends_on("pexsi+fortran@0.9.0:0.9", when="@:4")
depends_on("pexsi+fortran@0.10.0:", when="@5.0:")
# only OpenMP should be consistently used, all other common things
# like ELPA, SCALAPACK are independent and Spack will ensure that
# a consistent/compatible combination is pulled into the dependency graph.
with when("+sirius"):
depends_on("sirius+fortran+shared")
depends_on("sirius+openmp", when="+openmp")
depends_on("sirius~openmp", when="~openmp")
depends_on("sirius@:6", when="@:7")
depends_on("sirius@7.0.0:7.0", when="@8:8.2")
depends_on("sirius@7.2", when="@8.3:8.9")
depends_on("sirius@7.3:", when="@9.1")
conflicts("~mpi")
# sirius support was introduced in 7+
conflicts("@:6")
with when("+libvori"):
depends_on("libvori@201219:", when="@8.1", type="build")
depends_on("libvori@210412:", when="@8.2:", type="build")
# libvori support was introduced in 8+
conflicts("@:7")
# the bundled libcusmm uses numpy in the parameter prediction (v7+)
# which is written using Python 3
depends_on("py-numpy", when="@7:+cuda", type="build")
depends_on("python@3.6:", when="@7:+cuda", type="build")
depends_on("spglib", when="+spglib")
# Apparently cp2k@4.1 needs an "experimental" version of libwannier.a
# which is only available contacting the developer directly. See INSTALL
# in the stage of cp2k@4.1
depends_on("wannier90", when="@3.0+mpi", type="build")
# CP2K needs compiler specific compilation flags, e.g. optflags
conflicts("%apple-clang")
conflicts("%clang")
conflicts("%nag")
conflicts("~openmp", when="@8:", msg="Building without OpenMP is not supported in CP2K 8+")
# We only support specific cuda_archs for which we have parameter files
# for optimal kernels. Note that we don't override the cuda_archs property
# from the parent class, since the parent class defines constraints for all
# versions. Instead just mark all unsupported cuda archs as conflicting.
dbcsr_cuda_archs = ("35", "37", "60", "70")
cuda_msg = "cp2k only supports cuda_arch {0}".format(dbcsr_cuda_archs)
for arch in CudaPackage.cuda_arch_values:
if arch not in dbcsr_cuda_archs:
conflicts("+cuda", when="cuda_arch={0}".format(arch), msg=cuda_msg)
conflicts("+cuda", when="cuda_arch=none", msg=cuda_msg)
# Fix 2- and 3-center integral calls to libint
patch(
"https://github.com/cp2k/cp2k/commit/5eaf864ed2bd21fb1b05a9173bb77a815ad4deda.patch?full_index=1",
sha256="3617abb877812c4b933f601438c70f95e21c6161bea177277b1d4125fd1c0bf9",
when="@8.2",
)
@property
def makefile_architecture(self):
return "{0.architecture}-{0.compiler.name}".format(self.spec)
@property
def makefile_version(self):
return "{prefix}{suffix}".format(
prefix="p" if "+mpi" in self.spec else "s",
suffix="smp" if "+openmp" in self.spec else "opt",
)
@property
def makefile(self):
makefile_basename = ".".join([self.makefile_architecture, self.makefile_version])
return join_path("arch", makefile_basename)
@property
def archive_files(self):
return [join_path(self.stage.source_path, self.makefile)]
def edit(self, spec, prefix):
pkgconf = which("pkg-config")
if "^fftw" in spec:
fftw = spec["fftw:openmp" if "+openmp" in spec else "fftw"]
fftw_header_dir = fftw.headers.directories[0]
elif "^amdfftw" in spec:
fftw = spec["amdfftw:openmp" if "+openmp" in spec else "amdfftw"]
fftw_header_dir = fftw.headers.directories[0]
elif "^intel-mkl" in spec:
fftw = spec["intel-mkl"]
fftw_header_dir = fftw.headers.directories[0] + "/fftw"
elif "^intel-oneapi-mkl" in spec:
fftw = spec["intel-oneapi-mkl"]
fftw_header_dir = fftw.headers.directories[0] + "/fftw"
elif "^intel-parallel-studio+mkl" in spec:
fftw = spec["intel-parallel-studio"]
fftw_header_dir = "<NOTFOUND>"
for incdir in [join_path(f, "fftw") for f in fftw.headers.directories]:
if os.path.exists(incdir):
fftw_header_dir = incdir
break
elif "^cray-fftw" in spec:
fftw = spec["cray-fftw"]
fftw_header_dir = fftw.headers.directories[0]
else:
fftw = spec["intel-oneapi-mkl"]
fftw_header_dir = fftw.headers.directories[0] + "/fftw"
optimization_flags = {
"gcc": [
"-O2",
"-funroll-loops",
"-ftree-vectorize",
],
"intel": [
"-O2",
"-pc64",
"-unroll",
],
"oneapi": [
"-O2",
"-pc64",
"-unroll",
],
"pgi": ["-fast"],
"nvhpc": ["-fast"],
"cce": ["-O2"],
"xl": ["-O3"],
"aocc": ["-O1"],
}
dflags = ["-DNDEBUG"]
cppflags = [
"-D__FFTW3",
"-I{0}".format(fftw_header_dir),
]
if "^mpi@3:" in spec:
cppflags.append("-D__MPI_VERSION=3")
elif "^mpi@2:" in spec:
cppflags.append("-D__MPI_VERSION=2")
cflags = optimization_flags[self.spec.compiler.name][:]
cxxflags = optimization_flags[self.spec.compiler.name][:]
fcflags = optimization_flags[self.spec.compiler.name][:]
nvflags = ["-O3"]
ldflags = []
libs = []
gpuver = ""
if "%intel" or "%oneapi" in spec:
cflags.append("-fp-model precise")
cxxflags.append("-fp-model precise")
fcflags += [
"-fp-model precise",
"-heap-arrays 64",
"-g",
"-traceback",
]
elif "%gcc" in spec:
fcflags += [
"-ffree-form",
"-ffree-line-length-none",
"-ggdb", # make sure we get proper Fortran backtraces
]
elif "%aocc" in spec:
fcflags += [
"-ffree-form",
"-Mbackslash",
]
elif "%pgi" in spec or "%nvhpc" in spec:
fcflags += ["-Mfreeform", "-Mextend"]
elif "%cce" in spec:
fcflags += ["-emf", "-ffree", "-hflex_mp=strict"]
elif "%xl" in spec:
fcflags += ["-qpreprocess", "-qstrict", "-q64"]
ldflags += ["-Wl,--allow-multiple-definition"]
if "%gcc@10: +mpi" in spec and spec["mpi"].name in ["mpich", "cray-mpich"]:
fcflags += [
"-fallow-argument-mismatch"
] # https://github.com/pmodels/mpich/issues/4300
if "+openmp" in spec:
cflags.append(self.compiler.openmp_flag)
cxxflags.append(self.compiler.openmp_flag)
fcflags.append(self.compiler.openmp_flag)
ldflags.append(self.compiler.openmp_flag)
nvflags.append('-Xcompiler="{0}"'.format(self.compiler.openmp_flag))
elif "%cce" in spec: # Cray enables OpenMP by default
cflags += ["-hnoomp"]
cxxflags += ["-hnoomp"]
fcflags += ["-hnoomp"]
ldflags += ["-hnoomp"]
if "@7:" in spec: # recent versions of CP2K use C++14 CUDA code
cxxflags.append(self.compiler.cxx14_flag)
nvflags.append(self.compiler.cxx14_flag)
ldflags.append(fftw.libs.search_flags)
if "superlu-dist@4.3" in spec:
ldflags.insert(0, "-Wl,--allow-multiple-definition")
if "+plumed" in self.spec:
dflags.extend(["-D__PLUMED2"])
cppflags.extend(["-D__PLUMED2"])
libs.extend(
[join_path(self.spec["plumed"].prefix.lib, "libplumed.{0}".format(dso_suffix))]
)
cc = spack_cc if "~mpi" in spec else spec["mpi"].mpicc
cxx = spack_cxx if "~mpi" in spec else spec["mpi"].mpicxx
fc = spack_fc if "~mpi" in spec else spec["mpi"].mpifc
# Intel
if "%intel" or "%oneapi" in spec:
cppflags.extend(
[
"-D__INTEL",
"-D__HAS_ISO_C_BINDING",
"-D__USE_CP2K_TRACE",
]
)
fcflags.extend(["-diag-disable 8290,8291,10010,10212,11060", "-free", "-fpp"])
# FFTW, LAPACK, BLAS
lapack = spec["lapack"].libs
blas = spec["blas"].libs
ldflags.append((lapack + blas).search_flags)
libs.extend([str(x) for x in (fftw.libs, lapack, blas)])
if any(
p in spec for p in ("^intel-mkl", "^intel-parallel-studio+mkl", "^intel-oneapi-mkl")
):
cppflags += ["-D__MKL"]
elif "^accelerate" in spec:
cppflags += ["-D__ACCELERATE"]
if "+cosma" in spec:
# add before ScaLAPACK to override the p?gemm symbols
cosma = spec["cosma"].libs
ldflags.append(cosma.search_flags)
libs.extend(cosma)
# MPI
if "+mpi" in spec:
cppflags.extend(["-D__parallel", "-D__SCALAPACK"])
if "^intel-oneapi-mpi" in spec:
mpi = [join_path(spec["intel-oneapi-mpi"].libs.directories[0], "libmpicxx.so")]
else:
mpi = spec["mpi:cxx"].libs
# while intel-mkl has a mpi variant and adds the scalapack
# libs to its libs, intel-oneapi-mkl does not.
if "^intel-oneapi-mkl" in spec:
mpi_impl = "openmpi" if "^openmpi" in spec else "intelmpi"
scalapack = [
join_path(
spec["intel-oneapi-mkl"].libs.directories[0], "libmkl_scalapack_lp64.so"
),
join_path(
spec["intel-oneapi-mkl"].libs.directories[0],
"libmkl_blacs_{0}_lp64.so".format(mpi_impl),
),
]
else:
scalapack = spec["scalapack"].libs
ldflags.append(scalapack.search_flags)
libs.extend(scalapack)
libs.extend(mpi)
libs.extend(self.compiler.stdcxx_libs)
if "wannier90" in spec:
cppflags.append("-D__WANNIER90")
wannier = join_path(spec["wannier90"].libs.directories[0], "libwannier.a")
libs.append(wannier)
if "+libint" in spec:
cppflags += ["-D__LIBINT"]
if "@:6.9" in spec:
cppflags += [
"-D__LIBINT_MAX_AM=6",
"-D__LIBDERIV_MAX_AM1=5",
]
# libint-1.x.y has to be linked statically to work around
# inconsistencies in its Fortran interface definition
# (short-int vs int) which otherwise causes segfaults at
# runtime due to wrong offsets into the shared library
# symbols.
libs.extend(
[
join_path(spec["libint"].libs.directories[0], "libderiv.a"),
join_path(spec["libint"].libs.directories[0], "libint.a"),
]
)
else:
fcflags += pkgconf("--cflags", "libint2", output=str).split()
libs += pkgconf("--libs", "libint2", output=str).split()
if "+libxc" in spec:
cppflags += ["-D__LIBXC"]
if "@:6.9" in spec:
libxc = spec["libxc:fortran,static"]
cppflags += [libxc.headers.cpp_flags]
ldflags.append(libxc.libs.search_flags)
libs.append(str(libxc.libs))
else:
fcflags += pkgconf("--cflags", "libxcf03", output=str).split()
# some Fortran functions seem to be direct wrappers of the
# C functions such that we get a direct dependency on them,
# requiring `-lxc` to be present in addition to `-lxcf03`
libs += pkgconf("--libs", "libxcf03", "libxc", output=str).split()
if "+pexsi" in spec:
cppflags.append("-D__LIBPEXSI")
fcflags.append("-I" + join_path(spec["pexsi"].prefix, "fortran"))
libs.extend(
[
join_path(spec["pexsi"].libs.directories[0], "libpexsi.a"),
join_path(spec["superlu-dist"].libs.directories[0], "libsuperlu_dist.a"),
join_path(
spec["parmetis"].libs.directories[0], "libparmetis.{0}".format(dso_suffix)
),
join_path(
spec["metis"].libs.directories[0], "libmetis.{0}".format(dso_suffix)
),
]
)
if "+elpa" in spec:
elpa = spec["elpa"]
elpa_suffix = "_openmp" if "+openmp" in elpa else ""
elpa_incdir = elpa.headers.directories[0]
fcflags += ["-I{0}".format(join_path(elpa_incdir, "modules"))]
# Currently AOCC support only static libraries of ELPA
if "%aocc" in spec:
libs.append(
join_path(
elpa.prefix.lib, ("libelpa{elpa_suffix}.a".format(elpa_suffix=elpa_suffix))
)
)
else:
libs.append(
join_path(
elpa.libs.directories[0],
(
"libelpa{elpa_suffix}.{dso_suffix}".format(
elpa_suffix=elpa_suffix, dso_suffix=dso_suffix
)
),
)
)
if spec.satisfies("@:4"):
if elpa.satisfies("@:2014.5"):
cppflags.append("-D__ELPA")
elif elpa.satisfies("@2014.6:2015.10"):
cppflags.append("-D__ELPA2")
else:
cppflags.append("-D__ELPA3")
else:
cppflags.append(
"-D__ELPA={0}{1:02d}".format(elpa.version[0], int(elpa.version[1]))
)
fcflags += ["-I{0}".format(join_path(elpa_incdir, "elpa"))]
if "+cuda" in spec and "+cuda" in elpa:
cppflags += ["-D__ELPA_NVIDIA_GPU"]
if spec.satisfies("+sirius"):
sirius = spec["sirius"]
cppflags.append("-D__SIRIUS")
fcflags += ["-I{0}".format(sirius.prefix.include.sirius)]
libs += list(sirius.libs)
if spec.satisfies("+cuda"):
libs += [
"-L{}".format(spec["cuda"].libs.directories[0]),
"-L{}/stubs".format(spec["cuda"].libs.directories[0]),
"-lcuda",
"-lcudart",
"-lnvrtc",
"-lstdc++",
]
if spec.satisfies("@9:"):
acc_compiler_var = "OFFLOAD_CC"
acc_flags_var = "OFFLOAD_FLAGS"
cppflags += [
"-D__DBCSR_ACC",
"-D__GRID_CUDA",
"-DOFFLOAD_TARGET=cuda",
]
libs += ["-lcublas"]
else:
acc_compiler_var = "NVCC"
acc_flags_var = "NVFLAGS"
cppflags += ["-D__ACC"]
if spec.satisfies("+cuda_blas"):
cppflags += ["-D__DBCSR_ACC=2"]
libs += ["-lcublas"]
else:
cppflags += ["-D__DBCSR_ACC"]
if spec.satisfies("+cuda_fft"):
cppflags += ["-D__PW_CUDA"]
libs += ["-lcufft", "-lcublas"]
cuda_arch = spec.variants["cuda_arch"].value[0]
if cuda_arch:
gpuver = {
"35": "K40",
"37": "K80",
"60": "P100",
"70": "V100",
}[cuda_arch]
if cuda_arch == "35" and spec.satisfies("+cuda_arch_35_k20x"):
gpuver = "K20X"
if "smm=libsmm" in spec:
lib_dir = join_path("lib", self.makefile_architecture, self.makefile_version)
mkdirp(lib_dir)
try:
copy(env["LIBSMM_PATH"], join_path(lib_dir, "libsmm.a"))
except KeyError:
raise KeyError(
"Point environment variable LIBSMM_PATH to "
"the absolute path of the libsmm.a file"
)
except IOError:
raise IOError(
"The file LIBSMM_PATH pointed to does not "
"exist. Note that it must be absolute path."
)
cppflags.extend(
[
"-D__HAS_smm_dnn",
"-D__HAS_smm_vec",
]
)
libs.append("-lsmm")
elif "smm=libxsmm" in spec:
cppflags += ["-D__LIBXSMM"]
cppflags += pkgconf("--cflags-only-other", "libxsmmf", output=str).split()
fcflags += pkgconf("--cflags-only-I", "libxsmmf", output=str).split()
libs += pkgconf("--libs", "libxsmmf", output=str).split()
if "+libvori" in spec:
cppflags += ["-D__LIBVORI"]
libvori = spec["libvori"].libs
ldflags += [libvori.search_flags]
libs += libvori
libs += ["-lstdc++"]
if "+spglib" in spec:
cppflags += ["-D__SPGLIB"]
spglib = spec["spglib"].libs
ldflags += [spglib.search_flags]
libs += spglib
dflags.extend(cppflags)
cflags.extend(cppflags)
cxxflags.extend(cppflags)
fcflags.extend(cppflags)
nvflags.extend(cppflags)
with open(self.makefile, "w") as mkf:
if "+plumed" in spec:
mkf.write(
"# include Plumed.inc as recommended by"
"PLUMED to include libraries and flags"
)
mkf.write("include {0}\n".format(spec["plumed"].package.plumed_inc))
mkf.write("\n# COMPILER, LINKER, TOOLS\n\n")
mkf.write(
"FC = {0}\n" "CC = {1}\n" "CXX = {2}\n" "LD = {3}\n".format(fc, cc, cxx, fc)
)
if "%intel" in spec:
intel_bin_dir = ancestor(self.compiler.cc)
# CPP is a commented command in Intel arch of CP2K
# This is the hack through which cp2k developers avoid doing :
#
# ${CPP} <file>.F > <file>.f90
#
# and use `-fpp` instead
mkf.write("CPP = # {0} -P\n".format(spack_cc))
mkf.write("AR = {0}/xiar -r\n".format(intel_bin_dir))
else:
mkf.write("CPP = # {0} -E\n".format(spack_cc))
mkf.write("AR = ar -r\n")
if "+cuda" in spec:
mkf.write(
"{0} = {1}\n".format(
acc_compiler_var, join_path(spec["cuda"].prefix, "bin", "nvcc")
)
)
# Write compiler flags to file
def fflags(var, lst):
return "{0} = {1}\n\n".format(var, " \\\n\t".join(lst))
mkf.write("\n# FLAGS & LIBRARIES\n")
mkf.write(fflags("DFLAGS", dflags))
mkf.write(fflags("CPPFLAGS", cppflags))
mkf.write(fflags("CFLAGS", cflags))
mkf.write(fflags("CXXFLAGS", cxxflags))
if "+cuda" in spec:
mkf.write(fflags(acc_flags_var, nvflags))
mkf.write(fflags("FCFLAGS", fcflags))
mkf.write(fflags("LDFLAGS", ldflags))
mkf.write(fflags("LIBS", libs))
if "%intel" or "%oneapi" in spec:
mkf.write(fflags("LDFLAGS_C", ldflags + ["-nofor-main"]))
mkf.write("# CP2K-specific flags\n\n")
mkf.write("GPUVER = {0}\n".format(gpuver))
mkf.write("DATA_DIR = {0}\n".format(self.prefix.share.data))
@property
def build_directory(self):
build_dir = self.stage.source_path
if self.spec.satisfies("@:6"):
# prior to version 7.1 was the Makefile located in makefiles/
build_dir = join_path(build_dir, "makefiles")
return build_dir
@property
def build_targets(self):
return [
"ARCH={0}".format(self.makefile_architecture),
"VERSION={0}".format(self.makefile_version),
]
def build(self, spec, prefix):
if "+cuda" in spec and len(spec.variants["cuda_arch"].value) > 1:
raise InstallError("cp2k supports only one cuda_arch at a time")
# Apparently the Makefile bases its paths on PWD
# so we need to set PWD = self.build_directory
with spack.util.environment.set_env(PWD=self.build_directory):
super(Cp2k, self).build(spec, prefix)
with working_dir(self.build_directory):
make("libcp2k", *self.build_targets)
def install(self, spec, prefix):
exe_dir = join_path("exe", self.makefile_architecture)
lib_dir = join_path("lib", self.makefile_architecture, self.makefile_version)
install_tree(exe_dir, self.prefix.bin)
install_tree("data", self.prefix.share.data)
install_tree(lib_dir, self.prefix.lib)
mkdirp(self.prefix.include)
install("src/start/libcp2k.h", join_path(self.prefix.include, "libcp2k.h"))
@run_after("install")
def fix_package_config(self):
"""
Default build procedure generates libcp2k.pc with invalid paths,
because they are collected from temporary directory.
Ignoring invalid paths, most library-related switches are correct
except for fftw and openblas.
This procedure is appending two missing switches (tested with GROMACS 2022.2 + CP2K).
In case such approach causes issues in the future, it might be necessary
to generate and override entire libcp2k.pc.
"""
if self.spec.satisfies("@9.1:"):
with open(join_path(self.prefix.lib.pkgconfig, "libcp2k.pc"), "r+") as handle:
content = handle.read().rstrip()
content += " " + self.spec["blas"].libs.ld_flags
content += " " + self.spec["lapack"].libs.ld_flags
content += " " + self.spec["fftw-api"].libs.ld_flags
if "^fftw+openmp" in self.spec:
content += " -lfftw3_omp"
content += "\n"
handle.seek(0)
handle.write(content)
def check(self):
data_dir = join_path(self.stage.source_path, "data")
# CP2K < 7 still uses $PWD to detect the current working dir
# and Makefile is in a subdir, account for both facts here:
with spack.util.environment.set_env(CP2K_DATA_DIR=data_dir, PWD=self.build_directory):
with working_dir(self.build_directory):
make("test", *self.build_targets)

View File

@ -1,2 +0,0 @@
repo:
namespace: all

View File

@ -1,661 +0,0 @@
spack:
concretizer:
unify: when_possible
definitions:
- Compilers: &Compilers
- '%clang'
- '%dpcpp'
- '%gcc'
- '%intel'
- '%nvhpc'
- '%oneapi'
- '%pgi'
- Batchsystem_pckgs: &Batchsystem_pckgs
- slurm
- Compiler_pckgs: &Compiler_pckgs
- atlas
- clapack
- boost
- clhep
- eigen
- geant4
- googletest
- gsl
- intel-oneapi-mpi
- kokkos
- libint
- libxc
- libxsmm
- mpich
- openblas
- openmpi
- root
- superlu
- vtk
- Cuda_pckgs: &Cuda_pckgs
- cuda
- EM_pckgs: &EM_pckgs
- cistem
- ctffind
- motioncor2
- relion
- unblur
- Librairies_pckgs: &Librairies_pckgs
- alsa-lib
- gdrcopy
- giflib
- gmp
- hwloc
- isl
- knem
- libtasn1
- mpc
- mpfr
- nettle
- pmix
- ucx
- udunits
- wxwidgets
- x264
- zlib
- MX_pckgs: &MX_pckgs
- cbflib
- lz4
- openbabel
- visit
- HDF5_pckgs: &HDF5_pckgs
- alps
- h5hut+mpi
- hdf5-blosc
- ioapi
- hdf5+mpi
- netcdf-c
- netcdf-fortran
- netcdf-c
- trilinos
- HDF5_serial_pckgs: &HDF5_serial_pckgs
- hdf5~mpi
- h5hut~mpi
- ncview
- MPI_pckgs: &MPI_pckgs
- amrex
- boxlib
- cp2k
- cpmd
- elegant
- elpa
- fftw
- gromacs
- lammps
- astra
- Programming_pckgs: &Programming_pckgs
- autoconf
- automake
- binutils
- bison
- cmake
- erlang
- gcc
- go
- intel
- openjdk
- julia
- libtool
- lua
- m4
- nasm
- perl
- nvhpc+mpi
- python
- py-tensorflow
- qt
- r
- tcl
- tk
- System_pckgs: &System_pckgs
- bash
- filebench
- ior
- mdtest
- nmap
- patchelf
- unison
- Tools_pckgs: &Tools_pckgs
- aria2
- asciidoc
- coreutils
- emacs
- ffmpeg
- gaussian
- gettext
- git
- global
- gnupg
- gnuplot
- gnutls
- hdfview
- krb5
- kubernetes
- namd
- ncview
- openjpeg
- openssl
- orca
- paraview
- texlive
- tmux
- uncrustify
- vim
- visit
- xmlto
- xz
include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml
- sysconfigs/packages.yaml
repos:
- .
#>>> modules.yaml
modules:
Batchsystem:
use_view: Batchsystem
arch_folder: false
enable:
- tcl
roots:
tcl: &Batchsystem_module_root /afs/psi.ch/sys/spack-rhel7/Batchsystem
tcl:
blacklist_implicits: true
include: *Batchsystem_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup Batchsystem
MODULEPATH: *Batchsystem_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
slurm:
environment:
prepend_path:
SLURM_CONF: '/etc/slurm/slurm.conf'
projections: &unified_modules_projections
all: modulefiles/{compiler.name}/{compiler.version}/{name}/{version}
^mpi: 'modulefiles/{compiler.name}/{compiler.version}/{name}/{version}/{^mpi.name}/{^mpi.version}'
~mpi: 'modulefiles/{compiler.name}/{compiler.version}/{name}_serial/{version}'
threads=openmp: 'modulefiles/{compiler.name}/{compiler.version}/{name}_OMP/{version}'
MPI:
use_view: MPI
arch_folder: false
enable:
- tcl
roots:
tcl: &MPI_module_root /afs/psi.ch/sys/spack-rhel7/MPI
tcl:
blacklist_implicits: true
include: *MPI_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
# equivalent to module-addgroup MPI
prepend_path:
MODULEPATH: *MPI_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Compiler:
use_view: Compiler
arch_folder: false
enable:
- tcl
roots:
tcl: /afs/psi.ch/sys/spack-rhel7/Compiler
tcl:
blacklist_implicits: true
include: *Compiler_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
intel-oneapi-mpi:
environment:
prepend_path:
# equivalent to module-addgroup MPI
MODULEPATH: *MPI_module_root
set:
I_MPI_CXX: 'mpiicpc'
I_MPI_F77: 'mpiifort'
I_MPI_F90: 'mpiifort'
I_MPI_FC: 'mpiifort'
I_MPI_ICC: 'mpiicc'
MPIEXEC: 'mpiexec.hydra'
MPIFC: 'mpiifort'
MPIFORTRAN: 'mpiifort'
MPIRUN: 'mpirun'
mpich:
environment:
prepend_path:
# equivalent to module-addgroup MPI
MODULEPATH: *MPI_module_root
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
openblas:
environment:
set:
BLASLIB: ${prefix}/libopenblas.a
openmpi:
environment:
prepend_path:
# equivalent to module-addgroup MPI
MODULEPATH: *MPI_module_root
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
root:
environment:
set:
ROOTSYS: ${prefix}
projections: *unified_modules_projections
Cuda:
use_view: Cuda
arch_folder: false
enable:
- tcl
roots:
tcl: &Cuda_module_root /afs/psi.ch/sys/spack-rhel7/cuda
tcl:
blacklist_implicits: true
include: *Cuda_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup cuda
MODULEPATH: *Cuda_module_root
prepend_path:
${PACKAGE}_PATH: '{prefix}'
LIBRARY_PATH: '{prefix}/lib64/stubs'
LIBRARY_PATH: '{prefix}/targets/x86_64-linux/lib/stubs'
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_PATH: '{prefix}'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
EM:
use_view: EM
arch_folder: false
enable:
- tcl
roots:
tcl: &EM_module_root /afs/psi.ch/sys/spack-rhel7/EM
tcl:
blacklist_implicits: true
include: *EM_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup EM
MODULEPATH: *EM_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
HDF5:
use_view: HDF5
arch_folder: false
enable:
- tcl
roots:
tcl: &HDF5_module_root /afs/psi.ch/sys/spack-rhel7/HDF5
tcl:
blacklist_implicits: true
include: *HDF5_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
- 'HDF5_serial'
environment:
prepend_path:
# equivalent to module-addgroup HDF5
MODULEPATH: *HDF5_module_root
set:
${PACKAGE}_ROOT: '{prefix}'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
projections: *unified_modules_projections
HDF5_serial:
use_view: HDF5_serial
arch_folder: false
enable:
- tcl
roots:
tcl: &HDF5_serial_module_root /afs/psi.ch/sys/spack-rhel7/HDF5_serial
tcl:
blacklist_implicits: true
include: *HDF5_serial_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
- 'HDF5_serial'
environment:
prepend_path:
# equivalent to module-addgroup HDF5_serial
MODULEPATH: *HDF5_serial_module_root
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_HOME: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib64'
${PACKAGE}_PREFIX: '{prefix}'
${PACKAGE}_ROOT: '{prefix}'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Librairies:
use_view: Librairies
arch_folder: false
enable:
- tcl
roots:
tcl: &Librairies_module_root /afs/psi.ch/sys/spack-rhel7/Librairies
tcl:
blacklist_implicits: true
include: *Librairies_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup Librairies
MODULEPATH: *Librairies_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
MX:
use_view: MX
arch_folder: false
enable:
- tcl
roots:
tcl: &MX_module_root /afs/psi.ch/sys/spack-rhel7/MX
tcl:
blacklist_implicits: true
include: *MX_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup MX
MODULEPATH: *MX_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Programming:
use_view: Programming
arch_folder: false
enable:
- tcl
roots:
tcl: &Programming_module_root /afs/psi.ch/sys/spack-rhel7/Programming
tcl:
blacklist_implicits: true
include: *Programming_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup Programming
MODULEPATH: *Programming_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
nvhpc:
environment:
set:
ARCH_VERSION: $NVARCH/'$env(PGI_VERSION)'
CPP: '{prefix}/$ARCH_VERSION/compilers/bin/nvprepro'
F90: '{prefix}/$ARCH_VERSION/compilers/bin/pgf90'
F95: '{prefix}/$ARCH_VERSION/compilers/bin/pgf95'
FORTRAN: '{prefix}/$ARCH_VERSION/compilers/bin/pgfortran'
NVARCH: '{arch}'
NVCOMPILERS: '{prefix}'
PGI: '{prefix}'
projections: *unified_modules_projections
System:
use_view: System
arch_folder: false
enable:
- tcl
roots:
tcl: &System_module_root /afs/psi.ch/sys/spack-rhel7/System
tcl:
blacklist_implicits: true
include: *System_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup System
MODULEPATH: *System_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Tools:
use_view: Tools
arch_folder: false
enable:
- tcl
roots:
tcl: &Tools_module_root /afs/psi.ch/sys/spack-rhel7/Tools
tcl:
blacklist_implicits: true
include: *Tools_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
# equivalent to module-addgroup Tools
prepend_path:
MODULEPATH: *Tools_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
prefix_inspections:
'':
- CMAKE_PREFIX_PATH
bin:
- PATH
include:
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
man:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
share/man:
- MANPATH
share/pkgconfig:
- PKG_CONFIG_PATH
#<<<
# specs definitions
definitions:
- mpi:
- ^openmpi@4.1.4%gcc@8.3.0+cuda fabrics=ucx,xpmem,knem,ofi,cma,hcoll schedulers=slurm
+pmi ^ucx@1.13.0 ^cuda@11.5.1 ^slurm@21-08-8-2 ^hwloc@2.7.1 ^knem@1.1.4 ^xpmem@2.6.5-36
^pmix@4.1.2
- python:
- ^py-numpy@1.19.5%gcc@8.3.0 ^python@3.6.13%gcc@8.3.0
- blas:
- ^openblas%gcc@8.3.0
specs:
- matrix:
- [alps, geant4]
- ['%gcc@8.3.0']
- [$mpi]
- [$blas]
- [$python]
- matrix:
- [gromacs, h5hut+mpi, lammps, visit]
- ['%gcc@12.1.0']
- [$mpi]
- [$blas]
- [$python]
- matrix:
- [cp2k@9.1]
- ['%oneapi']
- [^intel-oneapi-mpi]
- [^libxsmm%oneapi]
- [^libint%oneapi]
- [^libxc%oneapi]
- [$python]
- matrix:
- [relion +cuda cuda_arch=61]
- ['%pgi']
- [^ctffind%gcc]
- [^openmpi%pgi]
- [^openblas]
- [^llvm%gcc@8.3.0]
- [$python]
view:
Batchsystem:
link: all
link_type: symlink
projections: &unified_projections
^mpi: '{name}/{version}/{^mpi.name}/{^mpi.version}/{compiler.name}/{compiler.version}/{hash}'
all: '{name}/{version}/{compiler.name}/{compiler.version}/{hash}'
~mpi: '{name}_serial/{version}/{compiler.name}/{compiler.version}/{hash}'
threads=openmp: '{name}_OMP/{version}/{compiler.name}/{compiler.version}/{hash}'
root: /afs/psi.ch/sys/spack-rhel7/Batchsystem
select: *Batchsystem_pckgs
Compiler:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Compiler
select: *Compiler_pckgs
Cuda:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/cuda
select: *Cuda_pckgs
EM:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/EM
select: *EM_pckgs
HDF5:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/HDF5
select: *HDF5_pckgs
HDF5_serial:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/HDF5_serial
select: *HDF5_serial_pckgs
Librairies:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Librairies
select: *Librairies_pckgs
MPI:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/MPI
select: *MPI_pckgs
MX:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/MX
select: *MX_pckgs
Programming:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Programming
select: *Programming_pckgs
System:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/System
select: *System_pckgs
Tools:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Tools
select: *Tools_pckgs

View File

@ -1,106 +0,0 @@
---
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/dpcpp
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: dpcpp@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
spec: intel@2021.6.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icpx
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: oneapi@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/8.3.0/bin/gcc
cxx: /opt/psi/Programming/gcc/8.3.0/bin/g++
f77: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
fc: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
spec: gcc@8.3.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang
cxx: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang++
f77: null
fc: null
spec: clang@12.0.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc
cxx: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc++
f77: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
fc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
spec: nvhpc@21.5
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: [pgi/18.5]
operating_system: rhel7
paths:
cc: /opt/psi/Programming/pgi/18.5/linux86-64/18.5/bin/pgcc
cxx: /opt/psi/Programming/pgi/18.5/linux86-64/18.5/bin/pgc++
f77: /opt/psi/Programming/pgi/18.5/linux86-64/18.5/bin/pgfortran
fc: /opt/psi/Programming/pgi/18.5/linux86-64/18.5/bin/pgfortran
spec: pgi@18.5
target: x86_64

View File

@ -1,6 +0,0 @@
config:
build_stage:
- /scratch/spack-rhel7
install_tree:
root: /scratch/spack-rhel7/spack-install
source_cache: /scratch/spack-rhel7/spack/var/spack/cache

View File

@ -1,2 +0,0 @@
repo:
namespace: ffibdx

View File

@ -1,11 +0,0 @@
spack:
concretizer:
unify: when_possible
include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml
- sysconfigs/packages.yaml
repos:
- .
specs:
- ffbidx@main cuda_arch=60 +python +simple_data_indexer +simple_data_files +test_all ^openblas

View File

@ -1,93 +0,0 @@
---
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/dpcpp
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: dpcpp@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
spec: intel@2021.6.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icpx
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: oneapi@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/9.5.0/bin/gcc
cxx: /opt/psi/Programming/gcc/9.5.0/bin/g++
f77: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
fc: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
spec: gcc@9.5.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang
cxx: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang++
f77: null
fc: null
spec: clang@12.0.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc
cxx: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc++
f77: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
fc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
spec: nvhpc@21.5
target: x86_64

View File

@ -1,4 +0,0 @@
config:
build_stage:
- /scratch/$USER/spack/spack-stages
source_cache: /scratch/$USER/spack/spack-source_cache

View File

@ -1,282 +0,0 @@
---
packages:
all:
compiler:
- gcc@12.1.0
target:
- haswell
providers:
pkgconfig: [pkg-config]
permissions:
read: user
write: user
binutils:
buildable: false
externals:
- prefix: /usr
spec: binutils@2.38
bzip2:
buildable: false
externals:
- prefix: /usr
spec: bzip2@1.0.6
cmake:
buildable: false
externals:
- prefix: /opt/psi/Programming/cmake/3.23.2
spec: cmake@3.23.2
cpio:
buildable: false
externals:
- prefix: /usr
spec: cpio@2.11
curl:
buildable: false
externals:
- prefix: /usr
spec: curl@7.29.0
cvs:
buildable: false
externals:
- prefix: /usr
spec: cvs@1.11.23
diffutils:
buildable: false
externals:
- prefix: /usr
spec: diffutils@3.3
doxygen:
buildable: false
externals:
- prefix: /usr
spec: doxygen@1.8.5
expat:
buildable: false
externals:
- prefix: /usr
spec: expat@1.6.0
file:
externals:
- prefix: /usr
spec: file@5.11
findutils:
buildable: false
externals:
- prefix: /usr
spec: findutils@4.5.11
# E.G: only available from already downloaded source, so I put it here
gams:
externals:
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
spec: gams@31.1.1
gawk:
buildable: false
externals:
- prefix: /usr
spec: gawk@4.0.2
ghostscript:
buildable: false
externals:
- prefix: /usr
spec: ghostscript@9.25
git:
buildable: false
externals:
- prefix: /usr
spec: git@1.8.3.1~tcltk
glew:
buildable: false
externals:
- prefix: /usr
spec: glew@1.10.0
gmake:
buildable: false
externals:
- prefix: /usr
spec: gmake@3.82
groff:
buildable: false
externals:
- prefix: /usr
spec: groff@1.22.2
hcoll:
buildable: false
externals:
- prefix: /opt/mellanox/hcoll
spec: hcoll@3.9.1927
fftw:
buildable: false
externals:
- prefix: /usr
spec: fftw@3.3.3
intel-oneapi-mkl:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mkl@2022.1.0
intel-oneapi-mpi:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mpi@2021.6.0
libcroco:
buildable: false
externals:
- prefix: /usr
spec: libcroco@0.6.13
libfuse:
buildable: false
externals:
- prefix: /usr
spec: libfuse@3.6.1
libice:
buildable: false
externals:
- prefix: /usr
spec: libice@6.3.0
libjpeg-turbo:
buildable: false
externals:
- prefix: /usr
spec: libjpeg-turbo@62.1.0
libpthread:
buildable: false
externals:
- prefix: /usr
spec: libpthread@2.17
libpthread-stubs:
buildable: false
externals:
- prefix: /usr
spec: libpthread-stubs@0.4
libreadline:
buildable: false
externals:
- prefix: /usr
spec: libreadline@6.2
libtiff:
buildable: false
externals:
- prefix: /usr
spec: libtiff@5.2.0
libx11:
buildable: false
externals:
- prefix: /usr
spec: libx11@6.3.0
libxext:
buildable: false
externals:
- prefix: /usr
spec: libxext@6.4.0
libxft:
buildable: false
externals:
- prefix: /usr
spec: libxft@2.3.2
libxpm:
buildable: false
externals:
- prefix: /usr
spec: libxpm@4.11.0
libxt:
buildable: false
externals:
- prefix: /usr
spec: libxt@6.0.0
m4:
buildable: false
externals:
- prefix: /usr
spec: m4@1.4.16
# E.G: only available from already downloaded source, so I put it here
mxm:
buildable: false
externals:
- prefix: /opt/psi/System/mxm/3.6.3104
spec: mxm@3.6.3104
ncurses:
buildable: false
externals:
- prefix: /usr
spec: ncurses@5.9.20130511
nlohmann-json:
buildable: false
externals:
- prefix: /usr
spec: nlohmann-json@3.10.5
numactl:
buildable: false
externals:
- prefix: /usr
spec: numactl@2.0.14
openssh:
buildable: false
externals:
- prefix: /usr
spec: openssh@7.4p1
openssl:
buildable: false
externals:
- prefix: /usr
spec: openssl@1.0.2k-fips
pcre:
buildable: false
externals:
- prefix: /usr
spec: pcre@8.32
pkg-config:
buildable: false
externals:
- prefix: /usr
spec: pkg-config@0.27.1
rsync:
buildable: false
externals:
- prefix: /usr
spec: rsync@3.1.2
ruby:
buildable: false
externals:
- prefix: /usr
spec: ruby@2.0.0p648
sed:
buildable: false
externals:
- prefix: /usr
spec: sed@4.2.2
slurm:
buildable: false
externals:
- prefix: /usr
spec: slurm@21-08-8-2
sqlite:
buildable: false
externals:
- prefix: /usr
spec: sqlite@3.7.17
subversion:
buildable: false
externals:
- prefix: /usr
spec: subversion@1.7.14
tar:
buildable: false
externals:
- prefix: /usr
spec: tar@1.26
texinfo:
buildable: false
externals:
- prefix: /usr
spec: texinfo@5.1
xerces-c:
buildable: false
externals:
- prefix: /usr
spec: xerces-c@3.1
xz:
buildable: false
externals:
- prefix: /usr
spec: xz@5.2.2

View File

@ -1,2 +0,0 @@
repo:
namespace: HiQsimulator

View File

@ -1,16 +0,0 @@
spack:
concretizer:
unify: when_possible
include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml
- sysconfigs/packages.yaml
repos:
- .
specs:
- libfabric@1.15.1
- openmpi@4.0.5%gcc+cuda fabrics=ucx,xpmem,knem,ofi,cma schedulers=slurm ^ucx@1.13.0
^hwloc@2.7.1 ^knem@1.1.4 ^xpmem@2.6.3 ^pmix@4.1.2
- cuda@11.0.2
- hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
backend=mix mat_size=7 ^cuda@11.0.2

View File

@ -1,93 +0,0 @@
---
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/dpcpp
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: dpcpp@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
spec: intel@2021.6.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icpx
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: oneapi@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/9.5.0/bin/gcc
cxx: /opt/psi/Programming/gcc/9.5.0/bin/g++
f77: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
fc: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
spec: gcc@9.5.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang
cxx: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang++
f77: null
fc: null
spec: clang@12.0.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc
cxx: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc++
f77: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
fc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
spec: nvhpc@21.5
target: x86_64

View File

@ -1,4 +0,0 @@
config:
build_stage:
- /scratch/$USER/spack/spack-stages
source_cache: /scratch/$USER/spack/spack-source_cache

View File

@ -1,282 +0,0 @@
---
packages:
all:
compiler:
- gcc@12.1.0
target:
- haswell
providers:
pkgconfig: [pkg-config]
permissions:
read: user
write: user
binutils:
buildable: false
externals:
- prefix: /usr
spec: binutils@2.38
bzip2:
buildable: false
externals:
- prefix: /usr
spec: bzip2@1.0.6
cmake:
buildable: false
externals:
- prefix: /opt/psi/Programming/cmake/3.23.2
spec: cmake@3.23.2
cpio:
buildable: false
externals:
- prefix: /usr
spec: cpio@2.11
curl:
buildable: false
externals:
- prefix: /usr
spec: curl@7.29.0
cvs:
buildable: false
externals:
- prefix: /usr
spec: cvs@1.11.23
diffutils:
buildable: false
externals:
- prefix: /usr
spec: diffutils@3.3
doxygen:
buildable: false
externals:
- prefix: /usr
spec: doxygen@1.8.5
expat:
buildable: false
externals:
- prefix: /usr
spec: expat@1.6.0
file:
externals:
- prefix: /usr
spec: file@5.11
findutils:
buildable: false
externals:
- prefix: /usr
spec: findutils@4.5.11
# E.G: only available from already downloaded source, so I put it here
gams:
externals:
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
spec: gams@31.1.1
gawk:
buildable: false
externals:
- prefix: /usr
spec: gawk@4.0.2
ghostscript:
buildable: false
externals:
- prefix: /usr
spec: ghostscript@9.25
git:
buildable: false
externals:
- prefix: /usr
spec: git@1.8.3.1~tcltk
glew:
buildable: false
externals:
- prefix: /usr
spec: glew@1.10.0
gmake:
buildable: false
externals:
- prefix: /usr
spec: gmake@3.82
groff:
buildable: false
externals:
- prefix: /usr
spec: groff@1.22.2
hcoll:
buildable: false
externals:
- prefix: /opt/mellanox/hcoll
spec: hcoll@3.9.1927
fftw:
buildable: false
externals:
- prefix: /usr
spec: fftw@3.3.3
intel-oneapi-mkl:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mkl@2022.1.0
intel-oneapi-mpi:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mpi@2021.6.0
libcroco:
buildable: false
externals:
- prefix: /usr
spec: libcroco@0.6.13
libfuse:
buildable: false
externals:
- prefix: /usr
spec: libfuse@3.6.1
libice:
buildable: false
externals:
- prefix: /usr
spec: libice@6.3.0
libjpeg-turbo:
buildable: false
externals:
- prefix: /usr
spec: libjpeg-turbo@62.1.0
libpthread:
buildable: false
externals:
- prefix: /usr
spec: libpthread@2.17
libpthread-stubs:
buildable: false
externals:
- prefix: /usr
spec: libpthread-stubs@0.4
libreadline:
buildable: false
externals:
- prefix: /usr
spec: libreadline@6.2
libtiff:
buildable: false
externals:
- prefix: /usr
spec: libtiff@5.2.0
libx11:
buildable: false
externals:
- prefix: /usr
spec: libx11@6.3.0
libxext:
buildable: false
externals:
- prefix: /usr
spec: libxext@6.4.0
libxft:
buildable: false
externals:
- prefix: /usr
spec: libxft@2.3.2
libxpm:
buildable: false
externals:
- prefix: /usr
spec: libxpm@4.11.0
libxt:
buildable: false
externals:
- prefix: /usr
spec: libxt@6.0.0
m4:
buildable: false
externals:
- prefix: /usr
spec: m4@1.4.16
# E.G: only available from already downloaded source, so I put it here
mxm:
buildable: false
externals:
- prefix: /opt/psi/System/mxm/3.6.3104
spec: mxm@3.6.3104
ncurses:
buildable: false
externals:
- prefix: /usr
spec: ncurses@5.9.20130511
nlohmann-json:
buildable: false
externals:
- prefix: /usr
spec: nlohmann-json@3.10.5
numactl:
buildable: false
externals:
- prefix: /usr
spec: numactl@2.0.14
openssh:
buildable: false
externals:
- prefix: /usr
spec: openssh@7.4p1
openssl:
buildable: false
externals:
- prefix: /usr
spec: openssl@1.0.2k-fips
pcre:
buildable: false
externals:
- prefix: /usr
spec: pcre@8.32
pkg-config:
buildable: false
externals:
- prefix: /usr
spec: pkg-config@0.27.1
rsync:
buildable: false
externals:
- prefix: /usr
spec: rsync@3.1.2
ruby:
buildable: false
externals:
- prefix: /usr
spec: ruby@2.0.0p648
sed:
buildable: false
externals:
- prefix: /usr
spec: sed@4.2.2
slurm:
buildable: false
externals:
- prefix: /usr
spec: slurm@21-08-8-2
sqlite:
buildable: false
externals:
- prefix: /usr
spec: sqlite@3.7.17
subversion:
buildable: false
externals:
- prefix: /usr
spec: subversion@1.7.14
tar:
buildable: false
externals:
- prefix: /usr
spec: tar@1.26
texinfo:
buildable: false
externals:
- prefix: /usr
spec: texinfo@5.1
xerces-c:
buildable: false
externals:
- prefix: /usr
spec: xerces-c@3.1
xz:
buildable: false
externals:
- prefix: /usr
spec: xz@5.2.2

View File

@ -1,2 +0,0 @@
repo:
namespace: HiQsimulator

View File

@ -1,13 +0,0 @@
spack:
concretizer:
unify: when_possible
include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml
- sysconfigs/packages.yaml
repos:
- .
specs:
- openmpi%gcc+cuda fabrics=ucx,xpmem,knem,ofi,cma schedulers=slurm ^ucx@1.13.0
^hwloc@2.7.1 ^knem@1.1.4 ^xpmem@2.6.3 ^pmix@4.1.2
- py-hiqsimulator@develop%gcc

View File

@ -1,93 +0,0 @@
---
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/dpcpp
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: dpcpp@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
spec: intel@2021.6.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icpx
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: oneapi@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/8.3.0/bin/gcc
cxx: /opt/psi/Programming/gcc/8.3.0/bin/g++
f77: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
fc: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
spec: gcc@8.3.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang
cxx: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang++
f77: null
fc: null
spec: clang@12.0.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc
cxx: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc++
f77: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
fc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
spec: nvhpc@21.5
target: x86_64

View File

@ -1,4 +0,0 @@
config:
build_stage:
- /scratch/$USER/spack/spack-stages
source_cache: /scratch/$USER/spack/spack-source_cache

View File

@ -1,297 +0,0 @@
---
packages:
all:
compiler:
- gcc@12.1.0
target:
- haswell
providers:
pkgconfig: [pkg-config]
permissions:
read: user
write: user
binutils:
buildable: false
externals:
- prefix: /usr
spec: binutils@2.38
bzip2:
buildable: false
externals:
- prefix: /usr
spec: bzip2@1.0.6
cmake:
buildable: false
externals:
- prefix: /opt/psi/Programming/cmake/3.23.2
spec: cmake@3.23.2
cpio:
buildable: false
externals:
- prefix: /usr
spec: cpio@2.11
curl:
buildable: false
externals:
- prefix: /usr
spec: curl@7.29.0
cvs:
buildable: false
externals:
- prefix: /usr
spec: cvs@1.11.23
diffutils:
buildable: false
externals:
- prefix: /usr
spec: diffutils@3.3
doxygen:
buildable: false
externals:
- prefix: /usr
spec: doxygen@1.8.5
expat:
buildable: false
externals:
- prefix: /usr
spec: expat@1.6.0
file:
externals:
- prefix: /usr
spec: file@5.11
findutils:
buildable: false
externals:
- prefix: /usr
spec: findutils@4.5.11
flex:
buildable: false
externals:
- prefix: /usr
spec: flex@2.5.37+lex
# E.G: only available from already downloaded source, so I put it here
gams:
externals:
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
spec: gams@31.1.1
gawk:
buildable: false
externals:
- prefix: /usr
spec: gawk@4.0.2
ghostscript:
buildable: false
externals:
- prefix: /usr
spec: ghostscript@9.25
git:
buildable: false
externals:
- prefix: /usr
spec: git@1.8.3.1~tcltk
glew:
buildable: false
externals:
- prefix: /usr
spec: glew@1.10.0
gmake:
buildable: false
externals:
- prefix: /usr
spec: gmake@3.82
groff:
buildable: false
externals:
- prefix: /usr
spec: groff@1.22.2
hcoll:
buildable: false
externals:
- prefix: /opt/mellanox/hcoll
spec: hcoll@3.9.1927
fftw:
buildable: false
externals:
- prefix: /usr
spec: fftw@3.3.3
intel-oneapi-mkl:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mkl@2022.1.0
intel-oneapi-mpi:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mpi@2021.6.0
libcroco:
buildable: false
externals:
- prefix: /usr
spec: libcroco@0.6.13
libevent:
buildable: false
externals:
- prefix: /usr
spec: libevent@2.0
libfabric:
buildable: false
externals:
- prefix: /usr
spec: libfabric@1.10.2
libfuse:
buildable: false
externals:
- prefix: /usr
spec: libfuse@3.6.1
libice:
buildable: false
externals:
- prefix: /usr
spec: libice@6.3.0
libjpeg-turbo:
buildable: false
externals:
- prefix: /usr
spec: libjpeg-turbo@62.1.0
libpthread:
buildable: false
externals:
- prefix: /usr
spec: libpthread@2.17
libpthread-stubs:
buildable: false
externals:
- prefix: /usr
spec: libpthread-stubs@0.4
libreadline:
buildable: false
externals:
- prefix: /usr
spec: libreadline@6.2
libtiff:
buildable: false
externals:
- prefix: /usr
spec: libtiff@5.2.0
libx11:
buildable: false
externals:
- prefix: /usr
spec: libx11@6.3.0
libxext:
buildable: false
externals:
- prefix: /usr
spec: libxext@6.4.0
libxft:
buildable: false
externals:
- prefix: /usr
spec: libxft@2.3.2
libxpm:
buildable: false
externals:
- prefix: /usr
spec: libxpm@4.11.0
libxt:
buildable: false
externals:
- prefix: /usr
spec: libxt@6.0.0
m4:
buildable: false
externals:
- prefix: /usr
spec: m4@1.4.16
# E.G: only available from already downloaded source, so I put it here
mxm:
buildable: false
externals:
- prefix: /opt/psi/System/mxm/3.6.3104
spec: mxm@3.6.3104
ncurses:
buildable: false
externals:
- prefix: /usr
spec: ncurses@5.9.20130511
nlohmann-json:
buildable: false
externals:
- prefix: /usr
spec: nlohmann-json@3.10.5
numactl:
buildable: false
externals:
- prefix: /usr
spec: numactl@2.0.14
openssh:
buildable: false
externals:
- prefix: /usr
spec: openssh@7.4p1
openssl:
buildable: false
externals:
- prefix: /usr
spec: openssl@1.0.2k-fips
pcre:
buildable: false
externals:
- prefix: /usr
spec: pcre@8.32
pkg-config:
buildable: false
externals:
- prefix: /usr
spec: pkg-config@0.27.1
rsync:
buildable: false
externals:
- prefix: /usr
spec: rsync@3.1.2
ruby:
buildable: false
externals:
- prefix: /usr
spec: ruby@2.0.0p648
sed:
buildable: false
externals:
- prefix: /usr
spec: sed@4.2.2
slurm:
buildable: false
externals:
- prefix: /usr
spec: slurm@21-08-8-2
sqlite:
buildable: false
externals:
- prefix: /usr
spec: sqlite@3.7.17
subversion:
buildable: false
externals:
- prefix: /usr
spec: subversion@1.7.14
tar:
buildable: false
externals:
- prefix: /usr
spec: tar@1.26
texinfo:
buildable: false
externals:
- prefix: /usr
spec: texinfo@5.1
xerces-c:
buildable: false
externals:
- prefix: /usr
spec: xerces-c@3.1
xz:
buildable: false
externals:
- prefix: /usr
spec: xz@5.2.2

24
env/rhel7/ffbidx/spack.yaml vendored Normal file
View File

@ -0,0 +1,24 @@
spack:
upstreams:
spack-instance-1:
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
config:
build_stage:
- /scratch/$user/spack-stage
install_tree:
root: /data/user/$user/spack-install
concretizer:
unify: true
include:
- ../sysconfigs/modules.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/packages.yaml
repos:
- ../../../
specs:
- openblas
- ffbidx@main%gcc@12.1.0+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60
develop:
ffbidx:
path: /scratch/$user/spack-dev/fast-feedback-indexer
spec: ffbidx@main+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60

13699
env/rhel7/hyquas/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

27
env/rhel7/hyquas/spack.yaml vendored Normal file
View File

@ -0,0 +1,27 @@
spack:
upstreams:
spack-instance-1:
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
config:
build_stage:
- /scratch/$user/spack-stage
install_tree:
root: /data/user/$user/spack-install
concretizer:
unify: when_possible
include:
- ../sysconfigs/modules.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/packages.yaml
repos:
- ../../../
specs:
- openmpi@4.0.5%gcc
- cuda@11.0.2
- hyquas@main%gcc@9.5.0+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
backend=mix mat_size=7
view: false
develop:
hyquas:
path: /scratch/$user/spack-dev/HyQuas
spec: hyquas@main

5689
env/rhel7/py-hiqsimulator/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

25
env/rhel7/py-hiqsimulator/spack.yaml vendored Normal file
View File

@ -0,0 +1,25 @@
spack:
upstreams:
spack-instance-1:
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
config:
build_stage:
- /scratch/$user/spack-stage
install_tree:
root: /data/user/$user/spack-install
concretizer:
unify: true
include:
- ../sysconfigs/modules.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/packages.yaml
repos:
- ../../../
specs:
- openmpi%gcc@12.1.0
- py-hiqsimulator@develop%gcc@12.1.0
develop:
py-hiqsimulator:
path: /scratch/$user/spack-dev/HiQsimulator
spec: py-hiqsimulator@develop%gcc@12.1.0
view: false

16554
env/rhel7/stable/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

54
env/rhel7/stable/spack.yaml vendored Normal file
View File

@ -0,0 +1,54 @@
spack:
concretizer:
unify: when_possible
config:
build_stage:
- /scratch/spack/spack-stage
install_missing_compilers: true
definitions:
- gcc_mpi:
- ^openmpi%gcc
- gcc_6.1.0_pckgs:
- trilinos@11.14.3 +mpi+cuda cuda_arch=60 ~tpetra
- gcc_12.1.0_pckgs:
- gromacs@2022.5 +mpi
- h5hut@2.0.0rc3 +mpi
- lammps@20221222
- quantum-espresso@7.0 hdf5=parallel
- trilinos@13.4.1
- intel_mpi:
- ^intel-oneapi-mpi@2021.8.0
- intel_pckgs:
- gromacs@2022.5
- nvhpc_mpi:
- ^openmpi%nvhpc
- nvhpc_pckgs:
- quantum-espresso@7.0 +mpi+cuda hdf5=parallel
include:
- ../sysconfigs/packages.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/modules.yaml
specs:
- gams@31.1.1
- matrix:
- [$gcc_6.1.0_pckgs]
- [$gcc_mpi]
- [^openblas]
- ['%gcc@6.1.0']
- matrix:
- [$gcc_12.1.0_pckgs]
- [$gcc_mpi]
- [^hdf5%gcc@12.1.0]
- [^openblas]
- ['%gcc@12.1.0']
- matrix:
- [$intel_pckgs]
- [$intel_mpi]
- [^intel-oneapi-mkl]
- ['%oneapi@2022.2.1']
- matrix:
- [$nvhpc_pckgs]
- [$nvhpc_mpi]
- [^hdf5%nvhpc@23.1]
- ['%nvhpc@23.1']
view: false

53
env/rhel7/sysconfigs/compilers.yaml vendored Normal file
View File

@ -0,0 +1,53 @@
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: gcc@4.8.5
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/9.5.0/bin/gcc
cxx: /opt/psi/Programming/gcc/9.5.0/bin/g++
f77: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
fc: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
spec: gcc@9.5.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc++
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
spec: nvhpc@23.1
target: x86_64

108
env/rhel7/sysconfigs/modules.yaml vendored Normal file
View File

@ -0,0 +1,108 @@
modules:
default:
tcl:
hash_length: 3
projections:
all: '{name}/{version}-{compiler.name}-{compiler.version}'
exclude: ['at-spi2-atk', 'at-spi2-core', 'libxft', 'atk', 'libxi', 'libxkbcommon',' libxkbfile', 'bdftopcf','berkeley-db',
'libxrandr','bison@3.8.2', 'libxrender','libxslt','bzip2','libxtst','cairo','libyaml','libzmq','dbus','diffutils','mkfontdir',
'docbook-xml', 'mkfontscale','docbook-xsl','msgpack-c', 'elfutils', 'munge','expat', 'ncurses','fixesproto', 'numactl', 'flex',
'font-util', 'fontconfig', 'fontsproto','freetype', 'pango', 'gawk', 'pcre', 'pcre2', 'gdbm', 'gdk-pixbuf', 'gettext', 'glib',
'gobject-introspection', 'gperf','gtkplus', 'harfbuzz','http-parser', 'inputproto', 'intltool','jansson','jemalloc','json-c',
'json-glib','kbproto', 'pixman', 'pkg-config', 'pmix', 'libaio', 'libbsd', 'libedit','libepoxy','libevent','libffi','libfontenc',
'libgcrypt','libgpg-error','libice','libiconv', 'libidn2','libjwt', 'libmd',' randrproto', 'readline', 'recordproto','renderproto',
'shared-mime-info', 'sqlite','libpciaccess','libpthread-stubs', 'libsm','libsodium','libtool', 'libunistring', 'libx11', 'libxau',
'lixcb', 'util-linux-uuid', 'util-macros', 'xcb-proto', 'xextproto', 'xkbcomp','xkbdata','xmlto','xproto','xrandr','xz','zlib',
'libxcrypt', 'libxdmcp', 'libxext', 'libxfixes', 'xtrans', 'zstd', 'librsvg', 'libxfont', 'libxcb', 'fribidi', 'kokkos-nvcc-wrapper']
all:
autoload: direct
conflict:
- '{name}'
environment:
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
intel-oneapi-mpi:
environment:
set:
I_MPI_CXX: 'mpiicpc'
I_MPI_F77: 'mpiifort'
I_MPI_F90: 'mpiifort'
I_MPI_FC: 'mpiifort'
I_MPI_ICC: 'mpiicc'
MPIEXEC: 'mpiexec.hydra'
MPIFC: 'mpiifort'
MPIFORTRAN: 'mpiifort'
MPIRUN: 'mpirun'
mpich:
environment:
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
openblas:
environment:
set:
BLASLIB: ${prefix}/libopenblas.a
openmpi:
environment:
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
root:
environment:
set:
ROOTSYS: ${prefix}
cuda:
environment:
prepend_path:
${PACKAGE}_PATH: '{prefix}'
LIBRARY_PATH: '{prefix}/lib64/stubs'
LIBRARY_PATH: '{prefix}/targets/x86_64-linux/lib/stubs'
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_PATH: '{prefix}'
${PACKAGE}_VERSION: '{version}'
hdf5~mpi:
environment:
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_HOME: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib64'
${PACKAGE}_PREFIX: '{prefix}'
${PACKAGE}_ROOT: '{prefix}'
${PACKAGE}_VERSION: '{version}'
prefix_inspections:
'':
- CMAKE_PREFIX_PATH
bin:
- PATH
include:
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
man:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
share/man:
- MANPATH
share/pkgconfig:
- PKG_CONFIG_PATH

View File

@ -1,35 +1,68 @@
---
packages:
'%gcc':
require: '%gcc@4.8.5'
'%nvhpc':
require: '%nvhpc'
'%oneapi':
require: '%oneapi'
all:
compiler:
- gcc@12.1.0
permissions:
read: user
write: user
providers:
pkgconfig: [ pkg-config ]
target:
- haswell
providers:
pkgconfig: [pkg-config]
autoconf:
buildable: false
externals:
- prefix: /usr
spec: autoconf@2.69
automake:
buildable: false
externals:
- prefix: /usr
spec: automake@1.13.4
berkeley-db:
require: '%gcc@4.8.5'
binutils:
buildable: false
externals:
- prefix: /usr
spec: binutils@2.38
spec: binutils@2.27.44
boost:
require: '%gcc@4.8.5'
bzip2:
buildable: false
externals:
- prefix: /usr
spec: bzip2@1.0.6
ca-certificates-mozilla:
require: '%gcc@4.8.5'
cairo:
require: '%gcc@4.8.5'
cmake:
require: '@3.25.2%gcc@4.8.5'
coreutils:
buildable: false
externals:
- prefix: /usr
spec: coreutils@8.22
cpio:
buildable: false
externals:
- prefix: /usr
spec: cpio@2.11
ctffind:
require: '%gcc@4.8.5'
cuda:
externals:
- prefix: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/cuda/
spec: cuda@12.0.0%nvhpc@23.1
curl:
buildable: false
externals:
- prefix: /usr
spec: curl@7.29.0
spec: curl@7.29.0+ldap
cvs:
buildable: false
externals:
@ -44,13 +77,14 @@ packages:
buildable: false
externals:
- prefix: /usr
spec: doxygen@1.8.5
spec: doxygen@1.8.5+graphviz~mscgen
expat:
buildable: false
externals:
- prefix: /usr
spec: expat@1.6.0
file:
buildable: false
externals:
- prefix: /usr
spec: file@5.11
@ -64,23 +98,31 @@ packages:
externals:
- prefix: /usr
spec: flex@2.5.37+lex
# E.G: only available from already downloaded source, so I put it here
fltk:
require: '%gcc@4.8.5'
fontconfig:
require: '%gcc@4.8.5'
gams:
buildable: false
externals:
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
spec: gams@31.1.1
spec: gams@31.1.1%gcc@4.8.5
gawk:
buildable: false
externals:
- prefix: /usr
spec: gawk@4.0.2
gdbm:
require: '%gcc@4.8.5'
gettext:
require: '%gcc@4.8.5'
ghostscript:
buildable: false
externals:
- prefix: /usr
spec: ghostscript@9.25
git:
buildable: false
require: '%gcc@4.8.5'
externals:
- prefix: /usr
spec: git@1.8.3.1~tcltk
@ -99,26 +141,15 @@ packages:
externals:
- prefix: /usr
spec: groff@1.22.2
harfbuzz:
require: '@5.1.0%gcc@12.1.0'
hcoll:
buildable: false
externals:
- prefix: /opt/mellanox/hcoll
spec: hcoll@3.9.1927
fftw:
buildable: false
externals:
- prefix: /usr
spec: fftw@3.3.3
intel-oneapi-mkl:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mkl@2022.1.0
intel-oneapi-mpi:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mpi@2021.6.0
libbsd:
require: '%gcc@4.8.5'
libcroco:
buildable: false
externals:
@ -130,15 +161,7 @@ packages:
- prefix: /usr
spec: libepoxy@0.0.0
libevent:
buildable: false
externals:
- prefix: /usr
spec: libevent@2.0
libfabric:
buildable: false
externals:
- prefix: /usr
spec: libfabric@1.10.2
require: '%gcc@4.8.5'
libfuse:
buildable: false
externals:
@ -149,11 +172,19 @@ packages:
externals:
- prefix: /usr
spec: libice@6.3.0
libiconv:
require: '%gcc@4.8.5'
libidn2:
require: '%gcc@4.8.5'
libjpeg-turbo:
buildable: false
externals:
- prefix: /usr
spec: libjpeg-turbo@62.1.0
libmd:
require: '%gcc@4.8.5'
libpciaccess:
require: '%gcc@4.8.5'
libpthread:
buildable: false
externals:
@ -174,11 +205,18 @@ packages:
externals:
- prefix: /usr
spec: librsvg@2.40.20
libsigsegv:
require: '%gcc@4.8.5'
libtiff:
buildable: false
externals:
- prefix: /usr
spec: libtiff@5.2.0
libtool:
buildable: false
externals:
- prefix: /usr
spec: libtool@2.4.2
libx11:
buildable: false
externals:
@ -194,6 +232,8 @@ packages:
externals:
- prefix: /usr
spec: libxft@2.3.2
libxml2:
require: '%gcc@4.8.5'
libxpm:
buildable: false
externals:
@ -209,17 +249,13 @@ packages:
externals:
- prefix: /usr
spec: m4@1.4.16
# E.G: only available from already downloaded source, so I put it here
mxm:
buildable: false
externals:
- prefix: /opt/psi/System/mxm/3.6.3104
spec: mxm@3.6.3104
ncurses:
buildable: false
externals:
- prefix: /usr
spec: ncurses@5.9.20130511
ninja:
require: '%gcc@4.8.5'
nlohmann-json:
buildable: false
externals:
@ -230,26 +266,46 @@ packages:
externals:
- prefix: /usr
spec: numactl@2.0.14
openblas:
require: '%gcc@4.8.5'
openmpi:
externals:
- prefix: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/comm_libs/openmpi4/openmpi-4.0.5
spec: openmpi@4.0.5%nvhpc@23.1
require:
- one_of: [
"openmpi@4.1.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
"openmpi@4.0.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
"openmpi@4.0.5%gcc",
"openmpi@4.0.5%nvhpc@23.1"
]
openssh:
buildable: false
externals:
- prefix: /usr
spec: openssh@7.4p1
openssl:
buildable: false
externals:
- prefix: /usr
spec: openssl@1.0.2k-fips
pcre:
pcre2:
buildable: false
externals:
- prefix: /usr
spec: pcre@8.32
spec: pcre2@8.32
perl:
require: '%gcc@4.8.5'
pkg-config:
buildable: false
externals:
- prefix: /usr
spec: pkg-config@0.27.1
py-fypp:
require: '%gcc@4.8.5'
python:
require: '%gcc@4.8.5'
readline:
require: '%gcc@4.8.5'
rsync:
buildable: false
externals:
@ -265,6 +321,8 @@ packages:
externals:
- prefix: /usr
spec: sed@4.2.2
slurm:
require: '+pmix +hwloc +gtk +readline +restd +mariadb'
sqlite:
buildable: false
externals:
@ -285,13 +343,27 @@ packages:
externals:
- prefix: /usr
spec: texinfo@5.1
unuran:
require: '%gcc@4.8.5'
util-linux-uuid:
require: '%gcc@4.8.5'
util-macros:
require: '%gcc@4.8.5'
valgrind:
require: '%gcc@4.8.5'
xerces-c:
buildable: false
externals:
- prefix: /usr
spec: xerces-c@3.1
xxhash:
require: '%gcc@4.8.5'
xz:
buildable: false
externals:
- prefix: /usr
spec: xz@5.2.2
zlib:
require: '%gcc@4.8.5'
zstd:
require: '%gcc@4.8.5'

16169
env/rhel7/unstable/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

140
env/rhel7/unstable/spack.yaml vendored Normal file
View File

@ -0,0 +1,140 @@
spack:
config:
build_stage:
- /scratch/spack/spack-stage
install_missing_compilers: true
concretizer:
unify: when_possible
include:
- ../sysconfigs/packages.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/modules.yaml
definitions:
- gcc_mpi:
- ^openmpi%gcc
- gcc_6.1.0_pckgs:
- trilinos +mpi+cuda cuda_arch=60 ~tpetra
- gcc_12.1.0_pckgs:
- gromacs +mpi
- h5hut +mpi
- lammps
- quantum-espresso hdf5=parallel
- trilinos
- intel_mpi:
- ^intel-oneapi-mpi@2021.8.0
- intel_pckgs:
- gromacs@2022.4
- nvhpc_mpi:
- ^openmpi%nvhpc
- nvhpc_pckgs:
- quantum-espresso +mpi+cuda hdf5=parallel
specs:
- matrix:
- [$gcc_12.1.0_pckgs]
- [$gcc_mpi]
- [^hdf5%gcc@12.1.0]
- [^openblas]
- ['%gcc@12.1.0']
- matrix:
- [$intel_pckgs]
- [$intel_mpi]
- [^intel-oneapi-mkl]
- ['%oneapi@2022.2.1']
- matrix:
- [$nvhpc_pckgs]
- [$nvhpc_mpi]
- [^hdf5%nvhpc@23.1]
- ['%nvhpc@23.1']
view: false
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: gcc@4.8.5
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/6.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/6.1.0/bin/g++
f77: /opt/psi/Programming/gcc/6.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/6.1.0/bin/gfortran
spec: gcc@6.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc++
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
spec: nvhpc@23.1
target: x86_64
- compiler:
spec: gcc@4.8.5
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
flags: {}
operating_system: rhel7
target: x86_64
modules: []
environment: {}
extra_rpaths: []
- compiler:
spec: dpcpp@2022.2.1
paths:
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/icx
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/dpcpp
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
flags: {}
operating_system: rhel7
target: x86_64
modules: []
environment: {}
extra_rpaths: []
- compiler:
spec: oneapi@2022.2.1
paths:
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/icx
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/icpx
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
flags: {}
operating_system: rhel7
target: x86_64
modules: []
environment: {}
extra_rpaths: []

24
env/sles15/ffbidx/spack.yaml vendored Normal file
View File

@ -0,0 +1,24 @@
spack:
upstreams:
spack-instance-1:
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
config:
build_stage:
- /scratch/$user/spack-stage
install_tree:
root: /data/user/$user/spack-install
concretizer:
unify: true
include:
- ../sysconfigs/modules.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/packages.yaml
repos:
- ../../../
specs:
- openblas
- ffbidx@main%gcc@12.1.0+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60
develop:
ffbidx:
path: /scratch/$user/spack-dev/fast-feedback-indexer
spec: ffbidx@main+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60

13699
env/sles15/hyquas/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

31
env/sles15/hyquas/spack.yaml vendored Normal file
View File

@ -0,0 +1,31 @@
spack:
upstreams:
spack-instance-1:
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
config:
build_stage:
- /scratch/$user/spack-stage
install_tree:
root: /data/user/$user/spack-install
concretizer:
unify: true
include:
- ../sysconfigs/modules.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/packages.yaml
repos:
- ../../../
specs:
- git-lfs
- cmake@3.25.2%gcc@12.1.0
- openmpi@4.1.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda
+legacylaunchers ^slurm +pmix +hwloc +gtk +readline +restd +mariadb
- cuda@11.0.2
- hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
backend=mix mat_size=7
develop:
hyquas:
path: /scratch/$user/spack-dev/HyQuas
spec: hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
backend=mix mat_size=7
view: false

5689
env/sles15/py-hiqsimulator/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

25
env/sles15/py-hiqsimulator/spack.yaml vendored Normal file
View File

@ -0,0 +1,25 @@
spack:
upstreams:
spack-instance-1:
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
config:
build_stage:
- /scratch/$user/spack-stage
install_tree:
root: /data/user/$user/spack-install
concretizer:
unify: true
include:
- ../sysconfigs/modules.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/packages.yaml
repos:
- ../../../
specs:
- openmpi@4.1.5%gcc
- py-hiqsimulator@develop%gcc
develop:
py-hiqsimulator:
path: /scratch/$user/spack-dev/HiQsimulator
spec: py-hiqsimulator@develop%gcc
view: false

View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
#SBATCH -N 4 # 4 nodes are requested
#SBATCH -t 00:03:00 # Walltime, 3 minutes
#SBATCH -n 8 # 8 processes are requested
#SBATCH --ntasks-per-socket=1 # 1 process per allocated socket
#SBATCH --hint=compute_bound # Use all cores in each socket, one thread per core
#SBATCH --exclusive # node should not be shared with other jobs
mpirun python3 ./examples/teleport_mpi.py # Execute program

18585
env/sles15/stable/spack.lock vendored Normal file

File diff suppressed because it is too large Load Diff

66
env/sles15/stable/spack.yaml vendored Normal file
View File

@ -0,0 +1,66 @@
spack:
concretizer:
unify: false
config:
build_stage:
- /scratch/spack/spack-stage
definitions:
- aocc_mpi:
- ^cray-mpich
- aocc_pckgs:
- gromacs@2021.7
- cce_mpi:
- ^cray-mpich
- cce_pckgs:
- gromacs@2021.7
- gcc_7.5.0_mpi:
- ^openmpi@4.1.5
- gcc_11.2.0_mpi:
- ^cray-mpich
- gcc_7.5.0_pckgs:
- trilinos@11.14.3 +mpi+cuda cuda_arch=60 ~tpetra
- gcc_11.2.0_pckgs:
- gams@31.1.1
- gromacs@2022.5 +mpi
- h5hut@2.0.0rc3 +mpi
- lammps@20221222
- trilinos@13.4.1 ~fortran
- intel_mpi:
- ^cray-mpich
- intel_pckgs:
- gromacs@2021.7
- nvhpc_mpi:
- ^cray-mpich
- nvhpc_pckgs:
- quantum-espresso@7.0 +mpi+cuda
include:
- ../sysconfigs/packages.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/modules.yaml
specs:
- matrix:
- [$aocc_pckgs]
- [$aocc_mpi]
- ['%aocc@3.1.0']
- matrix:
- [$cce_pckgs]
- [$cce_mpi]
- ['%cce@13.0.0']
- matrix:
- [$gcc_7.5.0_pckgs]
- [$gcc_7.5.0_mpi]
- [^openblas]
- ['%gcc@7.5.0']
- matrix:
- [$gcc_11.2.0_pckgs]
- [$gcc_11.2.0_mpi]
- ['%gcc@11.2.0']
- matrix:
- [$nvhpc_pckgs]
- [$nvhpc_mpi]
- ['%nvhpc@20.9']
- matrix:
- [$intel_pckgs]
- [$intel_mpi]
- ['%oneapi@2021.2.0']
view: false

111
env/sles15/sysconfigs/compilers.yaml vendored Normal file
View File

@ -0,0 +1,111 @@
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- PrgEnv-cray/8.3.0
- cce/13.0.0
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
spec: cce@13.0.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- PrgEnv-gnu/8.3.0
- gcc/11.2.0
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
spec: gcc@11.2.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: gcc@7.5.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- PrgEnv-nvidia/8.3.0
- nvidia/20.9
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
spec: nvhpc@20.9
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- PrgEnv-intel/8.3.0
- intel/2021.2.0
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
spec: intel@2021.2.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- PrgEnv-intel/8.3.0
- intel-oneapi/2021.2.0
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
spec: oneapi@2021.2.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules:
- PrgEnv-aocc/8.3.0
- aocc/3.1.0
- libfabric/1.15.2.0
operating_system: sles15
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
spec: aocc@3.1.0
target: x86_64

96
env/sles15/sysconfigs/modules.yaml vendored Normal file
View File

@ -0,0 +1,96 @@
modules:
default:
tcl:
blacklist_implicits: true
all:
autoload: direct
conflict:
- '{name}'
environment:
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
intel-oneapi-mpi:
environment:
set:
I_MPI_CXX: 'mpiicpc'
I_MPI_F77: 'mpiifort'
I_MPI_F90: 'mpiifort'
I_MPI_FC: 'mpiifort'
I_MPI_ICC: 'mpiicc'
MPIEXEC: 'mpiexec.hydra'
MPIFC: 'mpiifort'
MPIFORTRAN: 'mpiifort'
MPIRUN: 'mpirun'
mpich:
environment:
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
openblas:
environment:
set:
BLASLIB: ${prefix}/libopenblas.a
openmpi:
environment:
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
root:
environment:
set:
ROOTSYS: ${prefix}
cuda:
environment:
prepend_path:
${PACKAGE}_PATH: '{prefix}'
LIBRARY_PATH: '{prefix}/lib64/stubs'
LIBRARY_PATH: '{prefix}/targets/x86_64-linux/lib/stubs'
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_PATH: '{prefix}'
${PACKAGE}_VERSION: '{version}'
hdf5~mpi:
environment:
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_HOME: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib64'
${PACKAGE}_PREFIX: '{prefix}'
${PACKAGE}_ROOT: '{prefix}'
${PACKAGE}_VERSION: '{version}'
prefix_inspections:
'':
- CMAKE_PREFIX_PATH
bin:
- PATH
include:
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
man:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
share/man:
- MANPATH
share/pkgconfig:
- PKG_CONFIG_PATH

281
env/sles15/sysconfigs/packages.yaml vendored Normal file
View File

@ -0,0 +1,281 @@
---
packages:
'%aocc':
require: '%aocc'
'%cce':
require: '%cce'
'%clang':
require: '%clang'
'%gcc':
require: '%gcc@7.5.0'
'%nvhpc':
require: '%nvhpc'
'%oneapi':
require: '%oneapi'
all:
providers:
blas: [ cray-libsci ]
mpi: [ cray-mpich ]
pkgconfig: [ pkg-config ]
target:
- zen
autoconf:
buildable: false
externals:
- prefix: /usr
spec: autoconf@2.69
automake:
buildable: false
externals:
- prefix: /usr
spec: automake@1.15.1
berkeley-db:
require: '%gcc@7.5.0'
binutils:
buildable: false
externals:
- prefix: /usr
spec: binutils@2.37.20211103
bison:
buildable: false
externals:
- prefix: /usr
spec: bison@3.0.4
boost:
require: '%gcc@7.5.0'
ca-certificates-mozilla:
require: '%gcc@7.5.0'
cairo:
require: '%gcc@7.5.0'
cmake:
externals:
- spec: cmake@3.17.0
prefix: /usr
require:
- one_of: [
"cmake@3.17.0",
"cmake@3.25.2%gcc@7.5.0"
]
coreutils:
buildable: false
externals:
- prefix: /usr
spec: coreutils@8.32
cray-libsci:
externals:
- modules:
- cray-libsci/21.08.1.2
spec: cray-libsci@21.08.1.2
cray-mpich:
buildable: false
externals:
- modules:
- cray-mpich/8.1.12
spec: cray-mpich@8.1.12 ~wrappers
ctffind:
require: '%gcc@7.5.0'
cuda:
externals:
- prefix: /opt/nvidia/hpc_sdk/Linux_x86_64/20.9/cuda
spec: cuda@11.0.0%nvhpc@20.9
curl:
buildable: false
externals:
- prefix: /usr
spec: curl@7.66.0+gssapi+ldap+nghttp2
diffutils:
buildable: false
externals:
- prefix: /usr
spec: diffutils@3.6
expat:
require: '%gcc@7.5.0'
fftw:
buildable: false
externals:
- modules:
- cray-fftw/3.3.8.13
spec: fftw@3.3.8.13
findutils:
buildable: false
externals:
- prefix: /usr
spec: findutils@4.8.0
flex:
buildable: false
externals:
- prefix: /usr
spec: flex@2.6.4+lex
fltk:
require: '%gcc@7.5.0'
fontconfig:
require: '%gcc@7.5.0'
gams:
buildable: false
externals:
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
spec: gams@31.1.1%gcc
gawk:
buildable: false
externals:
- prefix: /usr
spec: gawk@4.2.1
gdbm:
require: '%gcc@7.5.0'
gettext:
require: '%gcc@7.5.0'
git:
buildable: false
externals:
- prefix: /usr
spec: git@2.35.3~tcltk
gmake:
buildable: false
externals:
- prefix: /usr
spec: gmake@4.2.1
groff:
buildable: false
externals:
- prefix: /usr
spec: groff@1.22.3
hdf5:
externals:
- modules:
- cray-hdf5-parallel/1.12.0.7
spec: hdf5@1.12.0.7+mpi
- prefix: /opt/cray/pe/hdf5-parallel/1.12.0.7/nvidia/20.7
spec: hdf5@1.12.0.7%nvhpc+mpi
- modules:
- cray-hdf5/1.12.0.7
spec: hdf5@1.12.0.7~mpi
libbsd:
require: '%gcc@7.5.0'
libevent:
require: '%gcc@7.5.0'
libfabric:
buildable: false
externals:
- prefix: /opt/cray/libfabric/1.15.2.0
spec: libfabric@1.15.2.0
libiconv:
require: '%gcc@7.5.0'
libidn2:
require: '%gcc@7.5.0'
libmd:
require: '%gcc@7.5.0'
libpciaccess:
require: '%gcc@7.5.0'
libsigsegv:
require: '%gcc@7.5.0'
libtool:
buildable: false
externals:
- prefix: /usr
spec: libtool@2.4.6
libxml2:
require: '%gcc@7.5.0'
llvm:
buildable: false
externals:
- prefix: /opt/AMD/aocc-compiler-3.1.0
spec: llvm@15.0.3
m4:
buildable: false
externals:
- prefix: /usr
spec: m4@1.4.18
ncurses:
require: '%gcc@7.5.0'
netcdf-c:
buildable: false
externals:
- modules:
- cray-parallel-netcdf/1.12.1.7
spec: netcdf-c@4.0.1 +mpi
netcdf-fortran:
buildable: false
externals:
- modules:
- cray-parallel-netcdf/1.12.1.7
spec: netcdf-fortran@4.0.1
ninja:
require: '%gcc@7.5.0'
openblas:
require: '%gcc@7.5.0'
opengl:
externals:
- prefix: /usr
spec: opengl@1.7.0
openmpi:
externals:
- prefix: /opt/nvidia/hpc_sdk/Linux_x86_64/20.9/comm_libs/openmpi4/openmpi-4.0.5
spec: openmpi@4.0.5%nvhpc@20.9
require:
- one_of: [
"openmpi@4.1.5%gcc@7.5.0 schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
"openmpi@4.0.5%nvhpc@20.9"
]
openssh:
buildable: false
externals:
- prefix: /usr
spec: openssh@8.4p1
openssl:
buildable: false
externals:
- prefix: /usr
spec: openssl@1.1.1d
perl:
require: '%gcc@7.5.0'
pkg-config:
buildable: false
externals:
- prefix: /usr
spec: pkg-config@0.29.2
pkgconf:
require: '%gcc@7.5.0'
py-fypp:
require: '%gcc@7.5.0'
python:
require: '%gcc@7.5.0'
readline:
require: '%gcc@7.5.0'
slurm:
require: '+pmix +hwloc +gtk +readline +restd +mariadb ^cups'
sqlite:
require: '%gcc@7.5.0'
tar:
buildable: false
externals:
- prefix: /usr
spec: tar@1.34
texinfo:
buildable: false
externals:
- prefix: /usr
spec: texinfo@6.5
unuran:
require: '%gcc@7.5.0'
util-linux-uuid:
require: '%gcc@7.5.0'
util-macros:
require: '%gcc@7.5.0'
valgrind:
buildable: false
externals:
- modules:
- valgrind4hpc/2.12.8
spec: valgrind@2.12.8
xpmem:
buildable: false
externals:
- modules:
- xpmem/2.4.4-2.3_9.1__gff0e1d9.shasta
spec: xpmem@2.4.4
xxhash:
require: '%gcc@7.5.0'
zlib:
require: '%gcc@7.5.0'
zstd:
require: '%gcc@7.5.0'

52
env/sles15/unstable/spack.yaml vendored Normal file
View File

@ -0,0 +1,52 @@
spack:
concretizer:
unify: when_possible
config:
build_stage:
- /scratch/spack/spack-stage
definitions:
- aocc_mpi:
- ^cray-mpich
- aocc_pckgs:
- gromacs@2022.5
- cce_mpi:
- ^cray-mpich
- cce_pckgs:
- gromacs@2022.5
- gcc_11.2.0_mpi:
- ^cray-mpich
- gcc_11.2.0_pckgs:
- gromacs@2023 +mpi +cuda
- h5hut +mpi
- lammps
- trilinos ~fortran
- intel_mpi:
- ^cray-mpich
- intel_pckgs:
- gromacs@2022.5
- nvhpc_mpi:
- ^cray-mpich
- nvhpc_pckgs:
- quantum-espresso +mpi+cuda hdf5=parallel
include:
- ../sysconfigs/packages.yaml
- ../sysconfigs/compilers.yaml
- ../sysconfigs/modules.yaml
specs:
- matrix:
- [$aocc_pckgs]
- [$aocc_mpi]
- ['%aocc@3.1.0']
- matrix:
- [$cce_pckgs]
- [$cce_mpi]
- ['%cce@13.0.0']
- matrix:
- [$gcc_11.2.0_pckgs]
- [$gcc_11.2.0_mpi]
- ['%gcc@11.2.0']
- matrix:
- [$nvhpc_pckgs]
- [$nvhpc_mpi]
- ['%nvhpc@20.9']
view: false

2
repo.yaml Normal file
View File

@ -0,0 +1,2 @@
repo:
namespace: psi