spack/var/spack/repos/builtin/packages/hip-rocclr/package.py

87 lines
3.9 KiB
Python

# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class HipRocclr(CMakePackage):
"""Hip-ROCclr is a virtual device interface that compute runtimes interact
with to different backends such as ROCr or PAL This abstraction allows
runtimes to work on Windows as well as on Linux without much effort."""
homepage = "https://github.com/ROCm/ROCclr"
url = "https://github.com/ROCm/ROCclr/archive/rocm-5.6.1.tar.gz"
git = "https://github.com/ROCm/ROCclr.git"
tags = ["rocm"]
phases = ["cmake", "build"]
maintainers("srekolam", "renjithravindrankannath")
license("MIT")
version("master", branch="main", deprecated=True)
version("5.6.1", sha256="cc9a99c7e4de3d9360c0a471b27d626e84a39c9e60e0aff1e8e1500d82391819")
version("5.6.0", sha256="864f87323e793e60b16905284fba381a7182b960dd4a37fb67420c174442c03c")
version("5.5.1", sha256="1375fc7723cfaa0ae22a78682186d4804188b0a54990bfd9c0b8eb421b85e37e")
version("5.5.0", sha256="efbae9a1ef2ab3de5ca44091e9bb78522e76759c43524c1349114f9596cc61d1")
with default_args(deprecated=True):
version("5.4.3", sha256="71d9668619ab57ec8a4564d11860438c5aad5bd161a3e58fbc49555fbd59182d")
version("5.4.0", sha256="46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138")
version("5.3.3", sha256="f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18")
version("5.3.0", sha256="2bf14116b5e2270928265f5d417b3d0f0f2e13cbc8ec5eb8c80d4d4a58ff7e94")
version("5.2.3", sha256="0493c414d4db1af8e1eb30a651d9512044644244488ebb13478c2138a7612998")
version("5.2.1", sha256="465ca9fa16869cd89dab8c2d66d9b9e3c14f744bbedaa1d215b0746d77a500ba")
version("5.2.0", sha256="37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb")
version("5.1.3", sha256="ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48")
version("5.1.0", sha256="f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa")
depends_on("cxx", type="build") # generated
depends_on("cmake@3:", type="build")
depends_on("gl@4.5:", type="link")
depends_on("numactl", type="link")
for ver in ["5.3.0", "5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1", "5.6.0", "5.6.1", "master"]:
depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}")
depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}")
depends_on(f"comgr@{ver}", when=f"@{ver}")
# Add opencl sources thru the below
for d_version, d_shasum in [
("5.6.1", "ec26049f7d93c95050c27ba65472736665ec7a40f25920a868616b2970f6b845"),
("5.6.0", "52ab260d00d279c2a86c353901ffd88ee61b934ad89e9eb480f210656705f04e"),
("5.5.1", "a8a62a7c6fc5398406d2203b8cb75621a24944688e545d917033d87de2724498"),
("5.5.0", "0df9fa0b8aa0c8e6711d34eec0fdf1ed356adcd9625bc8f1ce9b3e72090f3e4f"),
("5.4.3", "b0f8339c844a2e62773bd85cd1e7c5ecddfe71d7c8e8d604e1a1d60900c30873"),
("5.4.0", "a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7"),
("5.3.3", "cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f"),
("5.3.0", "d251e2efe95dc12f536ce119b2587bed64bbda013969fa72be58062788044a9e"),
]:
resource(
name="opencl-on-vdi",
url=f"https://github.com/ROCm/ROCm-OpenCL-Runtime/archive/rocm-{d_version}.tar.gz",
sha256=d_shasum,
expand=True,
destination="",
placement="opencl-on-vdi",
when=f"@{d_version}",
)
resource(
name="opencl-on-vdi",
git="https://github.com/ROCm/ROCm-OpenCL-Runtime.git",
destination="",
placement="opencl-on-vdi",
branch="main",
when="@master",
)
def cmake_args(self):
return [
self.define("USE_COMGR_LIBRARY", "yes"),
self.define("OPENCL_DIR", join_path(self.stage.source_path, "opencl-on-vdi")),
]