rocm packages: Update the version for 5.3.0 release (#33405)
* update the version for 5.3.0 release * update the rocwmma for 5.3.0 release * fix the +hip variant * update the version for rocm-openmp-extras package for 5.3.0 release * update the hipsolver and hipfft as per review comments * address review comments * revert changes to mivisionx with regard to change added for clangrt * fix for the petsc failure
This commit is contained in:
parent
f96f8a99e8
commit
0d96b0b311
@ -16,13 +16,14 @@ class Hipfft(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/hipFFT"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/hipFFT.git"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.2.3.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["renjithravindrankannath", "srekolam"]
|
||||
|
||||
version("master", branch="master")
|
||||
|
||||
version("5.3.0", sha256="ebbe2009b86b688809b6b4d5c3929fc589db455218d54a37790f21339147c5df")
|
||||
version("5.2.3", sha256="10be731fe91ede5e9f254f6eb3bc00b4dbeab449477f3cac03de358a7d0a6fa1")
|
||||
version("5.2.1", sha256="6c8fbace2864ca992b2fca9dc8d0bb4488aef62045acdfcf249d53dd005ebd35")
|
||||
version("5.2.0", sha256="ec37edcd61837281c403802ccc1cb01ec3fa3ba135b5ab16617961b66d4cc3e2")
|
||||
@ -92,6 +93,7 @@ class Hipfft(CMakePackage):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
|
||||
depends_on("hip@" + ver, when="@" + ver)
|
||||
@ -115,4 +117,6 @@ def cmake_args(self):
|
||||
args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip))
|
||||
args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True))
|
||||
|
||||
if self.spec.satisfies("@5.3.0:"):
|
||||
args.append(self.define("CMAKE_INSTALL_LIBDIR", "lib"))
|
||||
return args
|
||||
|
@ -18,7 +18,7 @@ class Hipsolver(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/hipSOLVER"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/hipSOLVER.git"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-5.2.3.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["cgmb", "srekolam", "renjithravindrankannath"]
|
||||
@ -27,6 +27,7 @@ class Hipsolver(CMakePackage):
|
||||
version("develop", branch="develop")
|
||||
version("master", branch="master")
|
||||
|
||||
version("5.3.0", sha256="6e920a59ddeefd52c9a6d164c33bc097726529e1ede3c417c711697956655b15")
|
||||
version("5.2.3", sha256="a57d883fdd09c6c7f9856fcfcabee6fa7ff9beed33d2f1a465bf28d38ea6f364")
|
||||
version("5.2.1", sha256="e000b08cf7bfb5f8f6d65d163ebeeb3274172b9f474228b810bde5e6f87f2b37")
|
||||
version("5.2.0", sha256="96927410e0a2cc0f50172604ef6437e15d2cf4b62d22b2035f13aae21f43dc82")
|
||||
@ -69,8 +70,18 @@ class Hipsolver(CMakePackage):
|
||||
for ver in ["master", "develop"]:
|
||||
depends_on("rocblas@" + ver, when="@" + ver)
|
||||
depends_on("rocsolver@" + ver, when="@" + ver)
|
||||
|
||||
for ver in ["4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3"]:
|
||||
for ver in [
|
||||
"4.5.0",
|
||||
"4.5.2",
|
||||
"5.0.0",
|
||||
"5.0.2",
|
||||
"5.1.0",
|
||||
"5.1.3",
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("hip@" + ver, when="@" + ver)
|
||||
depends_on("rocblas@" + ver, when="@" + ver)
|
||||
depends_on("rocsolver@" + ver, when="@" + ver)
|
||||
@ -104,5 +115,7 @@ def cmake_args(self):
|
||||
|
||||
if self.spec.satisfies("@5.2.0:"):
|
||||
args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True))
|
||||
if self.spec.satisfies("@5.3.0:"):
|
||||
args.append(self.define("CMAKE_INSTALL_LIBDIR", "lib"))
|
||||
|
||||
return args
|
||||
|
@ -13,12 +13,13 @@ class Migraphx(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-5.2.3.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam", "renjithravindrankannath"]
|
||||
libraries = ["libmigraphx"]
|
||||
|
||||
version("5.3.0", sha256="d0b7283f42e03fb38b612868b8c94f46f27a6e0b019ae95fde5b9086582a1c69")
|
||||
version("5.2.3", sha256="03f7d49f2efdd2c7a6afcaa5a5db5103edc15047b0ff5e146a775cfb36b36af2")
|
||||
version("5.2.1", sha256="300d990e1b92ad27c3eba3e94ef34538730ca9556398b8b9f7d61d28bf66c57d")
|
||||
version("5.2.0", sha256="33afcdf52c6e0e3a2f939fcf30e87f712b8e8ef3633a3dc03a19fea359704925")
|
||||
@ -126,6 +127,7 @@ def url_for_version(self, version):
|
||||
depends_on("python@3.5:", type="build")
|
||||
depends_on("py-pybind11", type="build", when="@:4.0.0")
|
||||
depends_on("py-pybind11@2.6:", type="build", when="@4.1.0:")
|
||||
depends_on("pkgconfig", type="build", when="@5.3.0:")
|
||||
|
||||
for ver in [
|
||||
"3.5.0",
|
||||
@ -147,6 +149,7 @@ def url_for_version(self, version):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
|
||||
depends_on("hip@" + ver, when="@" + ver)
|
||||
|
@ -20,6 +20,7 @@ class MiopenHip(CMakePackage):
|
||||
maintainers = ["srekolam", "renjithravindrankannath"]
|
||||
libraries = ["libMIOpen"]
|
||||
|
||||
version("5.3.0", sha256="c5819f593d71beeda2eb24b89182912240cc40f83b2b8f9de695a8e230aa4ea6")
|
||||
version("5.2.3", sha256="28747847446955b3bab24f7fc65c1a6b863a12f12ad3a35e0312072482d38122")
|
||||
version("5.2.1", sha256="0977a8876d41bbd2fa268341c93892f35878d7efc1711194ad87582f877ff500")
|
||||
version("5.2.0", sha256="5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4")
|
||||
@ -138,13 +139,14 @@ class MiopenHip(CMakePackage):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
|
||||
depends_on("hip@" + ver, when="@" + ver)
|
||||
depends_on("rocm-clang-ocl@" + ver, when="@" + ver)
|
||||
depends_on("rocblas@" + ver, when="@" + ver)
|
||||
|
||||
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3"]:
|
||||
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0"]:
|
||||
depends_on("mlirmiopen@" + ver, when="@" + ver)
|
||||
|
||||
def setup_build_environment(self, env):
|
||||
|
@ -14,12 +14,13 @@ class MiopenOpencl(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.2.3.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam", "renjithravindrankannath"]
|
||||
libraries = ["libMIOpen"]
|
||||
|
||||
version("5.3.0", sha256="c5819f593d71beeda2eb24b89182912240cc40f83b2b8f9de695a8e230aa4ea6")
|
||||
version("5.2.3", sha256="28747847446955b3bab24f7fc65c1a6b863a12f12ad3a35e0312072482d38122")
|
||||
version("5.2.1", sha256="0977a8876d41bbd2fa268341c93892f35878d7efc1711194ad87582f877ff500")
|
||||
version("5.2.0", sha256="5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4")
|
||||
@ -136,6 +137,7 @@ class MiopenOpencl(CMakePackage):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
|
||||
depends_on("rocm-opencl@" + ver, when="@" + ver)
|
||||
@ -158,10 +160,11 @@ class MiopenOpencl(CMakePackage):
|
||||
"5.1.3",
|
||||
"5.2.0",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("miopengemm@" + ver, when="@" + ver)
|
||||
|
||||
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3"]:
|
||||
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0"]:
|
||||
depends_on("mlirmiopen@" + ver, when="@" + ver)
|
||||
|
||||
@classmethod
|
||||
|
@ -14,10 +14,10 @@ class Miopengemm(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM.git"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-5.2.0.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam", "arjun-raj-kuppala", "renjithravindrankannath"]
|
||||
maintainers = ["srekolam", "renjithravindrankannath"]
|
||||
libraries = ["libmiopengemm"]
|
||||
|
||||
def url_for_version(self, version):
|
||||
@ -26,6 +26,7 @@ def url_for_version(self, version):
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-{0}.tar.gz"
|
||||
return url.format(version)
|
||||
|
||||
version("5.3.0", sha256="7e299daaca8e514bdb5b5efd9d9d3fc5cbfda68ad0117fe7cdbbf946b3f842cd")
|
||||
version("5.2.3", sha256="de9eecf39e6620be1511923e990101e64c63c2f56d8491c8bf9ffd1033709c00")
|
||||
version("5.2.1", sha256="9cea190ee0a6645b6d3ce3e136a8e7d07cf4044e98014ccc82b5e5f8b468b1c1")
|
||||
version("5.2.0", sha256="10458fb07b56a7fbe165595d588b7bf5f1300c57bda2f3133c3687c7bae39ea8")
|
||||
@ -132,6 +133,7 @@ def url_for_version(self, version):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-cmake@" + ver, type="build", when="@" + ver)
|
||||
depends_on("rocm-opencl@" + ver, when="@" + ver)
|
||||
|
@ -25,6 +25,7 @@ def url_for_version(self, version):
|
||||
url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz"
|
||||
return url.format(version)
|
||||
|
||||
version("5.3.0", sha256="58e68f1c78bbe5694e42bf61be177f9e94bfd3e0c113ec6284493c8684836c58")
|
||||
version("5.2.3", sha256="bbcdb5808d2bc880486dffa89f4111fb4b1d6dfe9b11fcd46fbd17939d057cf0")
|
||||
version("5.2.1", sha256="201996b31f59a8d5e4cc3f17d17a5b81158a34d2a1c833b65ccc3dceb21d176f")
|
||||
version("5.2.0", sha256="fee620a1edd3bce18b2cec9ef26ec2afe0a85d6da8a37ed713ab0d1342382503")
|
||||
@ -162,6 +163,19 @@ def patch(self):
|
||||
"amd_openvx_extensions/CMakeLists.txt",
|
||||
string=True,
|
||||
)
|
||||
if self.spec.satisfies("@5.3.0: + hip"):
|
||||
filter_file(
|
||||
"${ROCM_PATH}/llvm/bin/clang++",
|
||||
"{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix),
|
||||
"amd_openvx/openvx/hipvx/CMakeLists.txt",
|
||||
string=True,
|
||||
)
|
||||
filter_file(
|
||||
"${ROCM_PATH}/llvm/bin/clang++",
|
||||
"{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix),
|
||||
"amd_openvx_extensions/amd_nn/nn_hip/CMakeLists.txt",
|
||||
string=True,
|
||||
)
|
||||
|
||||
depends_on("cmake@3.5:", type="build")
|
||||
depends_on("ffmpeg@:4", type="build")
|
||||
@ -171,6 +185,14 @@ def patch(self):
|
||||
"+calib3d+features2d+highgui+imgcodecs+imgproc"
|
||||
"+video+videoio+flann+photo+objdetect",
|
||||
type="build",
|
||||
when="@:5.2",
|
||||
)
|
||||
depends_on(
|
||||
"opencv@4.5:"
|
||||
"+calib3d+features2d+highgui+imgcodecs+imgproc"
|
||||
"+video+videoio+flann+photo+objdetect",
|
||||
type="build",
|
||||
when="@5.3:",
|
||||
)
|
||||
depends_on("rocm-opencl@3.5.0", when="@1.7+opencl")
|
||||
depends_on("rocm-cmake@3.5.0", type="build", when="@1.7")
|
||||
@ -206,6 +228,7 @@ def patch(self):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-opencl@" + ver, when="@" + ver)
|
||||
depends_on("miopengemm@" + ver, when="@" + ver)
|
||||
@ -221,8 +244,10 @@ def patch(self):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("miopen-hip@" + ver, when="@" + ver)
|
||||
depends_on("migraphx@" + ver, when="@" + ver)
|
||||
|
||||
def flag_handler(self, name, flags):
|
||||
spec = self.spec
|
||||
@ -244,4 +269,6 @@ def cmake_args(self):
|
||||
args.append(self.define("BACKEND", "HIP"))
|
||||
args.append(self.define("HSA_PATH", spec["hsa-rocr-dev"].prefix))
|
||||
args.append(self.define("HIP_PATH", spec["hip"].prefix))
|
||||
if self.spec.satisfies("~hip~opencl"):
|
||||
args.append(self.define("BACKEND", "CPU"))
|
||||
return args
|
||||
|
@ -11,12 +11,13 @@ class Mlirmiopen(CMakePackage):
|
||||
"""Multi-Level Intermediate Representation for rocm miopen project."""
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir/archive/refs/tags/rocm-5.2.3.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir/archive/refs/tags/rocm-5.3.0.tar.gz"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir.git"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam"]
|
||||
|
||||
version("5.3.0", sha256="e8471a13cb39d33adff34730d3162adaa5d20f9544d61a6a94b39b9b5762ad6d")
|
||||
version("5.2.3", sha256="29e1c352d203622fa083432d5d368caccb53ba141119fbb7e8d5247d99854625")
|
||||
version("5.2.1", sha256="9e305e05474076d84c78b7a796bca20b64c70ee3e2caa066c625216c5ee21d95")
|
||||
version("5.2.0", sha256="546121f203e7787d3501fbaf6673bdbeefbb39e0446b02c480454338362a1f01")
|
||||
@ -39,7 +40,7 @@ class Mlirmiopen(CMakePackage):
|
||||
depends_on("half")
|
||||
depends_on("pkgconfig", type="build")
|
||||
|
||||
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3"]:
|
||||
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0"]:
|
||||
depends_on("hip@" + ver, when="@" + ver)
|
||||
depends_on("llvm-amdgpu@" + ver, when="@" + ver)
|
||||
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
|
||||
|
@ -11,7 +11,7 @@ class Rdc(CMakePackage):
|
||||
"""ROCm Data Center Tool"""
|
||||
|
||||
homepage = "https://github.com/RadeonOpenCompute/rdc"
|
||||
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-4.3.0.tar.gz"
|
||||
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam", "renjithravindrankannath"]
|
||||
@ -24,6 +24,7 @@ def url_for_version(self, version):
|
||||
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-{0}.tar.gz"
|
||||
return url.format(version)
|
||||
|
||||
version("5.3.0", sha256="ce9c85dad8e0c0b21e8e5938bf16f86a62dc5f6ded5f453c61acd43666634d6b")
|
||||
version("5.2.3", sha256="5ba060449bbf5e84979cb4c62eb1dac9b0e3eca45e930d2e20e7beaa87361b39")
|
||||
version("5.2.1", sha256="84b3c3754b8c9732ee6d00d37881591d3d6876feb8f29746d9eb18faea7ad035")
|
||||
version("5.2.0", sha256="2f35f74485e783f56ea724a7c69ce825f181fcdbe89de453d97ce6a3d3176ae0")
|
||||
@ -121,10 +122,11 @@ def url_for_version(self, version):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("rocm-smi-lib@" + ver, type=("build", "link"), when="@" + ver)
|
||||
|
||||
for ver in ["5.0.0", "5.0.2", "5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3"]:
|
||||
for ver in ["5.0.0", "5.0.2", "5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0"]:
|
||||
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
|
||||
|
||||
def patch(self):
|
||||
|
@ -31,6 +31,7 @@
|
||||
"20e21312816272222d1f427ea72a99a9a67077078552f5e2638a40860d161d25",
|
||||
"c0aa6997e889d6ce0e37cfa6a2e91c5c0b54cda1673abdcabcf34da1ba78ba72",
|
||||
"4ba1792095427588c484feed01f2f48e66aaad26bc000cbc74a15032551699e7",
|
||||
"371ed037b95b83fac64fb2ff2fc17313fe7d3befc8671f0a08f0e2072393fa5b",
|
||||
]
|
||||
|
||||
devlib = [
|
||||
@ -50,6 +51,7 @@
|
||||
"901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c",
|
||||
"e5855387ce73ed483ed0d03dbfef31f297c6ca66cf816f6816fd5ee373fc8225",
|
||||
"16b7fc7db4759bd6fb54852e9855fa16ead76c97871d7e1e9392e846381d611a",
|
||||
"f7e1665a1650d3d0481bec68252e8a5e68adc2c867c63c570f6190a1d2fe735c",
|
||||
]
|
||||
|
||||
llvm = [
|
||||
@ -69,6 +71,7 @@
|
||||
"0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f",
|
||||
"3644e927d943d61e22672422591c47a62ff83e3d87ced68439822156d8f79abf",
|
||||
"1b852711aec3137b568fb65f93606d37fdcd62e06f5da3766f2ffcd4e0c646df",
|
||||
"4e3fcddb5b8ea8dcaa4417e0e31a9c2bbdc9e7d4ac3401635a636df32905c93e",
|
||||
]
|
||||
|
||||
flang = [
|
||||
@ -88,6 +91,7 @@
|
||||
"20f48cac9b58496230fa2428eba4e15ec0a6e92d429569b154a328b7a8c5da17",
|
||||
"012a9c10a7d2a248dc40510e2f5c02a54b5f6bc39961500dc48b6780dac5ad67",
|
||||
"496f00918721c72eae0bd926a5a8f1f35bd443f6b22bc08e2a42c67e44a4dbaf",
|
||||
"ef1256ddf6cd9de10a1b88df4736dce48295136983a7e31eadd942fb39b156f7",
|
||||
]
|
||||
|
||||
extras = [
|
||||
@ -107,6 +111,7 @@
|
||||
"817c2e8975e56a8875ff56f9d1ea34d5e7e50f1b541b7f1236e3e5c8d9eee47f",
|
||||
"8b738225f0be39f27bba64c014816cfa1b79f2c7cf2d0e31fbc0fffb6c26e429",
|
||||
"f42ca7d85b0b64e6890502f1cf8309ef97f707829876742da2ea5c2cdf3ad8ac",
|
||||
"b3beee383d9c130666c230595c950bdc2ce4c7a99d728b9ddf1bca3963152223",
|
||||
]
|
||||
|
||||
versions = [
|
||||
@ -126,6 +131,7 @@
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]
|
||||
versions_dict = dict() # type: Dict[str,Dict[str,str]]
|
||||
components = ["aomp", "devlib", "llvm", "flang", "extras"]
|
||||
@ -143,10 +149,11 @@ class RocmOpenmpExtras(Package):
|
||||
"""OpenMP support for ROCm LLVM."""
|
||||
|
||||
homepage = tools_url + "/aomp"
|
||||
url = tools_url + "/aomp/archive/rocm-5.2.3.tar.gz"
|
||||
url = tools_url + "/aomp/archive/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam", "renjithravindrankannath", "estewart08"]
|
||||
version("5.3.0", sha256=versions_dict["5.3.0"]["aomp"])
|
||||
version("5.2.3", sha256=versions_dict["5.2.3"]["aomp"])
|
||||
version("5.2.1", sha256=versions_dict["5.2.1"]["aomp"])
|
||||
version("5.2.0", sha256=versions_dict["5.2.0"]["aomp"])
|
||||
@ -233,6 +240,7 @@ class RocmOpenmpExtras(Package):
|
||||
"5.2.0",
|
||||
"5.2.1",
|
||||
"5.2.3",
|
||||
"5.3.0",
|
||||
]:
|
||||
depends_on("hsakmt-roct@" + ver, when="@" + ver)
|
||||
depends_on("comgr@" + ver, when="@" + ver)
|
||||
@ -289,10 +297,14 @@ def setup_run_environment(self, env):
|
||||
devlibs_prefix = self.spec["llvm-amdgpu"].prefix
|
||||
openmp_extras_prefix = self.spec["rocm-openmp-extras"].prefix
|
||||
llvm_prefix = self.spec["llvm-amdgpu"].prefix
|
||||
hsa_prefix = self.spec["hsa-rocr-dev"].prefix
|
||||
env.set("AOMP", "{0}".format(llvm_prefix))
|
||||
env.set("HIP_DEVICE_LIB_PATH", "{0}/amdgcn/bitcode".format(devlibs_prefix))
|
||||
env.prepend_path("CPATH", "{0}/include".format(openmp_extras_prefix))
|
||||
env.prepend_path("LIBRARY_PATH", "{0}/lib".format(openmp_extras_prefix))
|
||||
if self.spec.satisfies("@5.3.0:"):
|
||||
env.prepend_path("LD_LIBRARY_PATH", "{0}/lib".format(openmp_extras_prefix))
|
||||
env.prepend_path("LD_LIBRARY_PATH", "{0}/lib".format(hsa_prefix))
|
||||
if self.spec.version < Version("4.1.0"):
|
||||
env.set("AOMP_GPU", "`{0}/rocm-bin/mygpu`".format(openmp_extras_prefix))
|
||||
else:
|
||||
@ -531,6 +543,9 @@ def install(self, spec, prefix):
|
||||
else:
|
||||
openmp_common_args += ["-DHSA_INCLUDE={0}/include/hsa".format(hsa_prefix)]
|
||||
|
||||
if self.spec.satisfies("@5.3.0:"):
|
||||
openmp_common_args += ["-DLIBOMPTARGET_ENABLE_DEBUG=ON"]
|
||||
|
||||
components["openmp"] = ["../rocm-openmp-extras/llvm-project/openmp"]
|
||||
components["openmp"] += openmp_common_args
|
||||
|
||||
|
@ -0,0 +1,207 @@
|
||||
From 05269687a201569eeaa50c03000d75ba923edd90 Mon Sep 17 00:00:00 2001
|
||||
From: Gergely Meszaros <gergely@streamhpc.com>
|
||||
Date: Fri, 28 Oct 2022 13:41:38 +0200
|
||||
Subject: [PATCH 1/2] Fix device_merge when using different types for
|
||||
`keys_input1` and `keys_input2`.
|
||||
|
||||
Add a test case for using device_merge with different types for
|
||||
`keys_input1` and `keys_input2`.
|
||||
---
|
||||
.../rocprim/device/detail/device_merge.hpp | 28 +++---
|
||||
test/rocprim/test_device_merge.cpp | 98 ++++++++++++++++++-
|
||||
2 files changed, 107 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/rocprim/include/rocprim/device/detail/device_merge.hpp b/rocprim/include/rocprim/device/detail/device_merge.hpp
|
||||
index 92159810..db7df6af 100644
|
||||
--- a/rocprim/include/rocprim/device/detail/device_merge.hpp
|
||||
+++ b/rocprim/include/rocprim/device/detail/device_merge.hpp
|
||||
@@ -72,26 +72,26 @@ range_t compute_range(const unsigned int id,
|
||||
return range_t{p1, p2, diag1 - p1, diag2 - p2};
|
||||
}
|
||||
|
||||
-template <class KeysInputIterator, class OffsetT, class BinaryFunction>
|
||||
-ROCPRIM_DEVICE ROCPRIM_INLINE
|
||||
-OffsetT merge_path(KeysInputIterator keys_input1,
|
||||
- KeysInputIterator keys_input2,
|
||||
- const OffsetT input1_size,
|
||||
- const OffsetT input2_size,
|
||||
- const OffsetT diag,
|
||||
- BinaryFunction compare_function)
|
||||
+template<class KeysInputIterator1, class KeysInputIterator2, class OffsetT, class BinaryFunction>
|
||||
+ROCPRIM_DEVICE ROCPRIM_INLINE OffsetT merge_path(KeysInputIterator1 keys_input1,
|
||||
+ KeysInputIterator2 keys_input2,
|
||||
+ const OffsetT input1_size,
|
||||
+ const OffsetT input2_size,
|
||||
+ const OffsetT diag,
|
||||
+ BinaryFunction compare_function)
|
||||
{
|
||||
- using key_type = typename std::iterator_traits<KeysInputIterator>::value_type;
|
||||
+ using key_type_1 = typename std::iterator_traits<KeysInputIterator1>::value_type;
|
||||
+ using key_type_2 = typename std::iterator_traits<KeysInputIterator2>::value_type;
|
||||
|
||||
OffsetT begin = diag < input2_size ? 0u : diag - input2_size;
|
||||
- OffsetT end = min(diag, input1_size);
|
||||
+ OffsetT end = min(diag, input1_size);
|
||||
|
||||
while(begin < end)
|
||||
{
|
||||
- OffsetT a = (begin + end) / 2;
|
||||
- OffsetT b = diag - 1 - a;
|
||||
- key_type input_a = keys_input1[a];
|
||||
- key_type input_b = keys_input2[b];
|
||||
+ OffsetT a = (begin + end) / 2;
|
||||
+ OffsetT b = diag - 1 - a;
|
||||
+ key_type_1 input_a = keys_input1[a];
|
||||
+ key_type_2 input_b = keys_input2[b];
|
||||
if(!compare_function(input_b, input_a))
|
||||
{
|
||||
begin = a + 1;
|
||||
diff --git a/test/rocprim/test_device_merge.cpp b/test/rocprim/test_device_merge.cpp
|
||||
index 7e21c65f..d06cafb8 100644
|
||||
--- a/test/rocprim/test_device_merge.cpp
|
||||
+++ b/test/rocprim/test_device_merge.cpp
|
||||
@@ -1,6 +1,6 @@
|
||||
// MIT License
|
||||
//
|
||||
-// Copyright (c) 2017-2021 Advanced Micro Devices, Inc. All rights reserved.
|
||||
+// Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -20,14 +20,23 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
-#include "common_test_header.hpp"
|
||||
+// required test headers
|
||||
+#include "../common_test_header.hpp"
|
||||
+#include "test_utils_types.hpp"
|
||||
|
||||
// required rocprim headers
|
||||
-#include <rocprim/functional.hpp>
|
||||
#include <rocprim/device/device_merge.hpp>
|
||||
+#include <rocprim/functional.hpp>
|
||||
+#include <rocprim/iterator/counting_iterator.hpp>
|
||||
+#include <rocprim/iterator/transform_iterator.hpp>
|
||||
|
||||
-// required test headers
|
||||
-#include "test_utils_types.hpp"
|
||||
+#include <gtest/gtest.h>
|
||||
+
|
||||
+#include <hip/hip_runtime.h>
|
||||
+
|
||||
+#include <algorithm>
|
||||
+#include <numeric>
|
||||
+#include <vector>
|
||||
|
||||
// Params for tests
|
||||
template<
|
||||
@@ -433,3 +442,82 @@ TYPED_TEST(RocprimDeviceMergeTests, MergeKeyValue)
|
||||
|
||||
}
|
||||
}
|
||||
+
|
||||
+TEST(RocprimDeviceMergeTests, MergeMismatchedIteratorTypes)
|
||||
+{
|
||||
+ const int device_id = test_common_utils::obtain_device_from_ctest();
|
||||
+ SCOPED_TRACE(testing::Message() << "with device_id = " << device_id);
|
||||
+ HIP_CHECK(hipSetDevice(device_id));
|
||||
+
|
||||
+ std::vector<int> keys_input1(1'024);
|
||||
+ std::generate(keys_input1.begin(),
|
||||
+ keys_input1.end(),
|
||||
+ [n = 0]() mutable
|
||||
+ {
|
||||
+ const int temp = n;
|
||||
+ n += 2;
|
||||
+ return temp;
|
||||
+ });
|
||||
+
|
||||
+ std::vector<int> expected_keys_output(2 * keys_input1.size());
|
||||
+ std::iota(expected_keys_output.begin(), expected_keys_output.end(), 0);
|
||||
+
|
||||
+ int* d_keys_input1 = nullptr;
|
||||
+ int* d_keys_output = nullptr;
|
||||
+ HIP_CHECK(test_common_utils::hipMallocHelper(&d_keys_input1,
|
||||
+ keys_input1.size() * sizeof(keys_input1[0])));
|
||||
+ HIP_CHECK(
|
||||
+ test_common_utils::hipMallocHelper(&d_keys_output,
|
||||
+ expected_keys_output.size() * sizeof(keys_input1[0])));
|
||||
+
|
||||
+ HIP_CHECK(hipMemcpy(d_keys_input1,
|
||||
+ keys_input1.data(),
|
||||
+ keys_input1.size() * sizeof(keys_input1[0]),
|
||||
+ hipMemcpyHostToDevice));
|
||||
+
|
||||
+ const auto d_keys_input2 = rocprim::make_transform_iterator(rocprim::make_counting_iterator(0),
|
||||
+ [] __host__ __device__(int value)
|
||||
+ { return value * 2 + 1; });
|
||||
+
|
||||
+ static constexpr bool debug_synchronous = false;
|
||||
+
|
||||
+ size_t temp_storage_size_bytes = 0;
|
||||
+ HIP_CHECK(rocprim::merge(nullptr,
|
||||
+ temp_storage_size_bytes,
|
||||
+ d_keys_input1,
|
||||
+ d_keys_input2,
|
||||
+ d_keys_output,
|
||||
+ keys_input1.size(),
|
||||
+ keys_input1.size(),
|
||||
+ rocprim::less<int>{},
|
||||
+ hipStreamDefault,
|
||||
+ debug_synchronous));
|
||||
+
|
||||
+ ASSERT_GT(temp_storage_size_bytes, 0);
|
||||
+
|
||||
+ void* d_temp_storage = nullptr;
|
||||
+ HIP_CHECK(test_common_utils::hipMallocHelper(&d_temp_storage, temp_storage_size_bytes));
|
||||
+
|
||||
+ HIP_CHECK(rocprim::merge(d_temp_storage,
|
||||
+ temp_storage_size_bytes,
|
||||
+ d_keys_input1,
|
||||
+ d_keys_input2,
|
||||
+ d_keys_output,
|
||||
+ keys_input1.size(),
|
||||
+ keys_input1.size(),
|
||||
+ rocprim::less<int>{},
|
||||
+ hipStreamDefault,
|
||||
+ debug_synchronous));
|
||||
+
|
||||
+ std::vector<int> keys_output(expected_keys_output.size());
|
||||
+ HIP_CHECK(hipMemcpy(keys_output.data(),
|
||||
+ d_keys_output,
|
||||
+ keys_output.size() * sizeof(keys_output[0]),
|
||||
+ hipMemcpyDeviceToHost));
|
||||
+
|
||||
+ ASSERT_NO_FATAL_FAILURE(test_utils::assert_eq(keys_output, expected_keys_output));
|
||||
+
|
||||
+ HIP_CHECK(hipFree(d_temp_storage));
|
||||
+ HIP_CHECK(hipFree(d_keys_output));
|
||||
+ HIP_CHECK(hipFree(d_keys_input1));
|
||||
+}
|
||||
|
||||
From 993541c6b21b51b5a1a838eca855cc4efcfbb19b Mon Sep 17 00:00:00 2001
|
||||
From: Vince van Heertum <vince@streamhpc.com>
|
||||
Date: Fri, 4 Nov 2022 12:56:53 +0100
|
||||
Subject: [PATCH 2/2] Update CHANGELOG.md for ROCm 5.3.2
|
||||
|
||||
---
|
||||
CHANGELOG.md | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/CHANGELOG.md b/CHANGELOG.md
|
||||
index eef6aede..53739ffa 100644
|
||||
--- a/CHANGELOG.md
|
||||
+++ b/CHANGELOG.md
|
||||
@@ -2,6 +2,11 @@
|
||||
|
||||
Full documentation for rocPRIM is available at [https://codedocs.xyz/ROCmSoftwarePlatform/rocPRIM/](https://codedocs.xyz/ROCmSoftwarePlatform/rocPRIM/)
|
||||
|
||||
+## [rocPRIM-2.11.1 for ROCm 5.3.2]
|
||||
+### Fixed
|
||||
+- Fix device_merge when using different types for `keys_input1` and `keys_input2`.
|
||||
+- Added a test case for using device_merge with different types for `keys_input1` and `keys_input2`.
|
||||
+
|
||||
## [rocPRIM-2.11.0 for ROCm 5.3.0]
|
||||
### Added
|
||||
- New functions `subtract_left` and `subtract_right` in `block_adjacent_difference` to apply functions
|
@ -135,6 +135,9 @@ class Rocprim(CMakePackage):
|
||||
depends_on("llvm-amdgpu@" + ver, when="@" + ver)
|
||||
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
|
||||
|
||||
# the patch is meant for 5.3.0 only.this is already in the 5.3.3+ releases
|
||||
patch("fix-device-merge-mismatched-param-5.3.0.patch", when="@5.3.0")
|
||||
|
||||
def setup_build_environment(self, env):
|
||||
env.set("CXX", self.spec["hip"].hipcc)
|
||||
|
||||
|
@ -21,11 +21,12 @@ class Rocwmma(CMakePackage):
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/rocWMMA"
|
||||
git = "https://github.com/ROCmSoftwarePlatform/rocWMMA.git"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/rocWMMA/archive/refs/tags/rocm-5.2.3.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/rocWMMA/archive/refs/tags/rocm-5.3.0.tar.gz"
|
||||
tags = ["rocm"]
|
||||
|
||||
maintainers = ["srekolam", "renjithravindrankannath"]
|
||||
|
||||
version("5.3.0", sha256="04bac641ba18059118d3faa5f21fe3bf3e285055d40930489ebf27ffc8e5d16e")
|
||||
version("5.2.3", sha256="7f42e9742eff258f7c09c518c5ea9c71a224574e1c075d7e1c4e464192fc4920")
|
||||
version("5.2.1", sha256="73adb6a0ae99051493459a9902ad718b0452d6d819583a58d713ce52fa813f21")
|
||||
version("5.2.0", sha256="257ccd1cf2bc1d8064e72e78d276ef7446b2cb7e2dec05ff8331bb44eff2b7cb")
|
||||
@ -48,12 +49,11 @@ class Rocwmma(CMakePackage):
|
||||
|
||||
depends_on("googletest@1.10.0:", type="test")
|
||||
|
||||
for ver in ["5.2.0", "5.2.1", "5.2.3"]:
|
||||
for ver in ["5.2.0", "5.2.1", "5.2.3", "5.3.0"]:
|
||||
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
|
||||
depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver)
|
||||
depends_on("hip@" + ver, when="@" + ver)
|
||||
depends_on("rocblas@" + ver, type="build", when="@" + ver)
|
||||
|
||||
depends_on("rocm-openmp-extras@" + ver, type="build", when="@" + ver)
|
||||
|
||||
for tgt in itertools.chain(["auto"], amdgpu_targets):
|
||||
|
Loading…
Reference in New Issue
Block a user