summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/whip/package.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/whip/package.py b/var/spack/repos/builtin/packages/whip/package.py
new file mode 100644
index 0000000000..f23b1af9a9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/whip/package.py
@@ -0,0 +1,30 @@
+# 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.package import *
+
+
+class Whip(CMakePackage, CudaPackage, ROCmPackage):
+ """whip is a small C++ abstraction layer for CUDA and HIP."""
+
+ homepage = "https://github.com/eth-cscs/whip/"
+ url = "https://github.com/eth-cscs/whip/archive/0.0.0.tar.gz"
+ git = "https://github.com/eth-cscs/whip.git"
+ maintainers = ["msimberg", "rasolca"]
+
+ version("main", branch="main")
+
+ depends_on("cmake@3.22:", type="build")
+
+ # Exactly one of +cuda and +rocm need to be set
+ conflicts("~cuda ~rocm")
+ conflicts("+cuda +rocm")
+
+ def cmake_args(self):
+ if self.spec.satisfies("+cuda"):
+ return [self.define("WHIP_BACKEND", "CUDA")]
+ else:
+ return [self.define("WHIP_BACKEND", "HIP")]