From ca35fa90930b2fc375277338c9e07c47600f3ac6 Mon Sep 17 00:00:00 2001 From: michaellaufer Date: Wed, 11 May 2022 10:13:22 +0300 Subject: [PATCH] Update PyFR, Gimmik versions. Add PyFR LIBXSMM variant --- var/spack/repos/builtin/packages/libxsmm/package.py | 9 +++++++++ var/spack/repos/builtin/packages/py-gimmik/package.py | 3 +++ var/spack/repos/builtin/packages/py-pyfr/package.py | 9 ++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py index b4ed1b167c2..06f7d0ac474 100644 --- a/var/spack/repos/builtin/packages/libxsmm/package.py +++ b/var/spack/repos/builtin/packages/libxsmm/package.py @@ -64,6 +64,11 @@ class Libxsmm(MakefilePackage): description='With header-only installation') variant('generator', default=False, description='With generator executable(s)') + variant('noblas', default=False, + description='LIBXSMM without GEMM-related functionality') + variant('CODE_BUF_MAXSIZE', default=0, multi=False, + description='Max. size of JIT-buffer', + values=('0', '262144')) conflicts('+header-only', when='@:1.6.2', msg='Header-only is available since v1.6.2!') depends_on('python', type='build') @@ -84,6 +89,7 @@ def build(self, spec, prefix): 'CXX={0}'.format(spack_cxx), 'FC={0}'.format(spack_fc), 'PREFIX=%s' % prefix, + 'CODE_BUF_MAXSIZE={0}'.format(spec.variants["CODE_BUF_MAXSIZE"].value), 'SYM=1' ] @@ -95,6 +101,9 @@ def build(self, spec, prefix): make_args += ['DBG=1'] make_args += ['TRACE=1'] + if '+noblas' in spec: + make_args += ['BLAS=0'] + if '+shared' in spec: make(*(make_args + ['STATIC=0'])) diff --git a/var/spack/repos/builtin/packages/py-gimmik/package.py b/var/spack/repos/builtin/packages/py-gimmik/package.py index f562b276094..c78e042de09 100644 --- a/var/spack/repos/builtin/packages/py-gimmik/package.py +++ b/var/spack/repos/builtin/packages/py-gimmik/package.py @@ -17,6 +17,9 @@ class PyGimmik(PythonPackage): maintainers = ["michaellaufer"] + version( + "2.3", sha256="c019c85316bcf0d5e84de9b7d10127355dfe8037c0e37f1880a9819ce92b74e1" + ) version( "2.2", sha256="9144640f94aab92f9c5dfcaf16885a79428ab97337cf503a4b2dddeb870f3cf0" ) diff --git a/var/spack/repos/builtin/packages/py-pyfr/package.py b/var/spack/repos/builtin/packages/py-pyfr/package.py index ce8f68832dd..871decc08f2 100644 --- a/var/spack/repos/builtin/packages/py-pyfr/package.py +++ b/var/spack/repos/builtin/packages/py-pyfr/package.py @@ -22,6 +22,10 @@ class PyPyfr(PythonPackage): version("master", branch="master") # pypi releases + version( + "1.14.0", + sha256="ebf40ce0896cce9ac802e03fd9430b5be30ea837c31224531a6d5fd68f820766", + ) version( "1.13.0", sha256="ac6ecec738d4e23799ab8c50dea9bdbd7d37bc971bd33f22720c5a230b8e7b2f", @@ -31,11 +35,13 @@ class PyPyfr(PythonPackage): variant("scotch", default=False, description="Scotch for mesh partitioning") variant("cuda", default=False, description="CUDA backend support") variant("hip", default=False, description="HIP backend support") + variant("libxsmm", default=True, description="LIBXSMM for OpenMP backend") # Required dependencies depends_on("python@3.9:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-gimmik@2.2:2", type=('build', 'run')) + depends_on("py-gimmik@2.3:", when='@1.14.0:', type=('build', 'run')) depends_on("py-h5py@2.10:", type=('build', 'run')) depends_on("py-mako@1.0.0:", type=('build', 'run')) depends_on("py-mpi4py@3.1.0:", type=('build', 'run')) @@ -44,8 +50,9 @@ class PyPyfr(PythonPackage): depends_on("py-pytools@2016.2.1:", type=('build', 'run')) depends_on("py-scipy", type=('build', 'run')) - # Optional dependecies + # Optional dependecies depends_on("metis@5.0:", when="+metis", type=('run')) depends_on("scotch@6.0:", when="+scotch", type=('run')) depends_on("cuda@8.0:", when="+cuda", type=('run')) depends_on("rocblas@4.5.0:", when="+hip", type=('run')) + depends_on("libxsmm@master+shared +noblas CODE_BUF_MAXSIZE=262144", when="+libxsmm", type=('run'))