summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaelLaufer <70094649+MichaelLaufer@users.noreply.github.com>2022-05-22 21:01:21 +0300
committerGitHub <noreply@github.com>2022-05-22 12:01:21 -0600
commitaa3c7a138a3f2699c1a6bd8fb9258d73729a060e (patch)
tree60a7e2e9341aeb2be0920060314044ef9c62f50b
parent42441cddcc95081949e4c2ef86e57761b2f8c429 (diff)
downloadspack-aa3c7a138a3f2699c1a6bd8fb9258d73729a060e.tar.gz
spack-aa3c7a138a3f2699c1a6bd8fb9258d73729a060e.tar.bz2
spack-aa3c7a138a3f2699c1a6bd8fb9258d73729a060e.tar.xz
spack-aa3c7a138a3f2699c1a6bd8fb9258d73729a060e.zip
py-pyfr: Add v1.14.0, add LIBXSMM variant (#30612)
* Update PyFR, Gimmik versions. Add PyFR LIBXSMM variant * Fixes * Changes to variants * Update py-gimmik version requirement in py-pyfr * Revert "Update py-gimmik version requirement in py-pyfr" This reverts commit 3b3fde30425ece252290eb0a2793ca1707f84860. * Update libxsmm conflicts
-rw-r--r--var/spack/repos/builtin/packages/libxsmm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-gimmik/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pyfr/package.py15
3 files changed, 28 insertions, 8 deletions
diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py
index b4ed1b167c..b760406a64 100644
--- a/var/spack/repos/builtin/packages/libxsmm/package.py
+++ b/var/spack/repos/builtin/packages/libxsmm/package.py
@@ -60,12 +60,15 @@ class Libxsmm(MakefilePackage):
description='With shared libraries (and static libraries).')
variant('debug', default=False,
description='With call-trace (LIBXSMM_TRACE); unoptimized.')
- variant('header-only', default=False,
+ variant('header-only', default=False, when='@1.6.2:',
description='With header-only installation')
variant('generator', default=False,
description='With generator executable(s)')
- conflicts('+header-only', when='@:1.6.2',
- msg='Header-only is available since v1.6.2!')
+ variant('blas', default='default', multi=False,
+ description='Control behavior of BLAS calls',
+ values=('default', '0', '1', '2'))
+ variant('large_jit_buffer', default=False, when='@1.17:',
+ description='Max. JIT buffer size increased to 256 KiB')
depends_on('python', type='build')
@property
@@ -95,6 +98,13 @@ class Libxsmm(MakefilePackage):
make_args += ['DBG=1']
make_args += ['TRACE=1']
+ blas_val = spec.variants['blas'].value
+ if blas_val != 'default':
+ make_args += ['BLAS={0}'.format(blas_val)]
+
+ if '+large_jit_buffer' in spec:
+ make_args += ['CODE_BUF_MAXSIZE=262144']
+
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 f562b27609..30744e54e2 100644
--- a/var/spack/repos/builtin/packages/py-gimmik/package.py
+++ b/var/spack/repos/builtin/packages/py-gimmik/package.py
@@ -15,9 +15,12 @@ class PyGimmik(PythonPackage):
homepage = "https://github.com/PyFR/GiMMiK"
pypi = "gimmik/gimmik-2.2.tar.gz"
- maintainers = ["michaellaufer"]
+ 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 ce8f68832d..424c4cb5ef 100644
--- a/var/spack/repos/builtin/packages/py-pyfr/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfr/package.py
@@ -15,7 +15,7 @@ class PyPyfr(PythonPackage):
homepage = "http://www.pyfr.org/"
pypi = "pyfr/pyfr-1.13.0.tar.gz"
git = "https://github.com/PyFR/PyFR/"
- maintainers = ["michaellaufer"]
+ maintainers = ["MichaelLaufer"]
# git branches
version("develop", branch="develop")
@@ -23,6 +23,10 @@ class PyPyfr(PythonPackage):
# pypi releases
version(
+ "1.14.0",
+ sha256="ebf40ce0896cce9ac802e03fd9430b5be30ea837c31224531a6d5fd68f820766",
+ )
+ version(
"1.13.0",
sha256="ac6ecec738d4e23799ab8c50dea9bdbd7d37bc971bd33f22720c5a230b8e7b2f",
)
@@ -31,21 +35,24 @@ 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")
+ variant("scipy", default=True, description="Scipy acceleration for point sampling")
# 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:2", 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'))
depends_on("py-numpy@1.20:+blas", type=('build', 'run'))
depends_on("py-platformdirs@2.2.0:", type=('build', 'run'))
depends_on("py-pytools@2016.2.1:", type=('build', 'run'))
- depends_on("py-scipy", type=('build', 'run'))
- # Optional dependecies
- depends_on("metis@5.0:", when="+metis", type=('run'))
+ # Optional dependencies
+ depends_on("py-scipy", when="+scipy", type=('build', '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@1.18:+shared blas=0 +large_jit_buffer", when="+libxsmm", type=('run'))