summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaelLaufer <70094649+MichaelLaufer@users.noreply.github.com>2022-02-14 23:43:18 +0200
committerGitHub <noreply@github.com>2022-02-14 15:43:18 -0600
commit5b80c4ab6cf23ec596d0a50c7d06030914145d69 (patch)
tree003bc13708f36c3a93a107bf91167e4ee727da79
parent1377c02e26bd94995ccb38ed9cc33f148cd7582d (diff)
downloadspack-5b80c4ab6cf23ec596d0a50c7d06030914145d69.tar.gz
spack-5b80c4ab6cf23ec596d0a50c7d06030914145d69.tar.bz2
spack-5b80c4ab6cf23ec596d0a50c7d06030914145d69.tar.xz
spack-5b80c4ab6cf23ec596d0a50c7d06030914145d69.zip
New package: py-pyfr (#28847)
* Initial support for PyFR * styling * fixes * more syling fixes * fixes for dependencies * add min rocblas version
-rw-r--r--var/spack/repos/builtin/packages/py-gimmik/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-pyfr/package.py51
2 files changed, 78 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/py-gimmik/package.py b/var/spack/repos/builtin/packages/py-gimmik/package.py
new file mode 100644
index 0000000000..f562b27609
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-gimmik/package.py
@@ -0,0 +1,27 @@
+# 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)
+
+
+from spack import *
+
+
+class PyGimmik(PythonPackage):
+ """Generator of Matrix Multiplication Kernels - GiMMiK - is a tool for generation of
+ high performance matrix multiplication kernel code.
+ for various accelerator platforms."""
+
+ homepage = "https://github.com/PyFR/GiMMiK"
+ pypi = "gimmik/gimmik-2.2.tar.gz"
+
+ maintainers = ["michaellaufer"]
+
+ version(
+ "2.2", sha256="9144640f94aab92f9c5dfcaf16885a79428ab97337cf503a4b2dddeb870f3cf0"
+ )
+
+ depends_on('python@3.8:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=('build', 'run'))
+ depends_on("py-mako", type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pyfr/package.py b/var/spack/repos/builtin/packages/py-pyfr/package.py
new file mode 100644
index 0000000000..ce8f68832d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyfr/package.py
@@ -0,0 +1,51 @@
+# 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)
+
+
+from spack import *
+
+
+class PyPyfr(PythonPackage):
+ """PyFR is an open-source Python based framework for solving
+ advection-diffusion type problems on streaming architectures
+ using the Flux Reconstruction approach of Huynh."""
+
+ homepage = "http://www.pyfr.org/"
+ pypi = "pyfr/pyfr-1.13.0.tar.gz"
+ git = "https://github.com/PyFR/PyFR/"
+ maintainers = ["michaellaufer"]
+
+ # git branches
+ version("develop", branch="develop")
+ version("master", branch="master")
+
+ # pypi releases
+ version(
+ "1.13.0",
+ sha256="ac6ecec738d4e23799ab8c50dea9bdbd7d37bc971bd33f22720c5a230b8e7b2f",
+ )
+
+ variant("metis", default=True, description="Metis for mesh partitioning")
+ 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")
+
+ # 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-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'))
+ 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'))