5.6.0 & 5.6.1 updates for migraphx, miopen-hip, mivisionx

This commit is contained in:
Renjith Ravindran Kannath 2023-09-25 13:04:11 -07:00
parent ece1a568bf
commit f54c9c6c67
5 changed files with 89 additions and 11 deletions

View File

@ -17,6 +17,8 @@ class ComposableKernel(CMakePackage):
maintainers("srekolam", "afzpatel") maintainers("srekolam", "afzpatel")
version("master", branch="develop") version("master", branch="develop")
version("5.6.1", commit="f5ec04f091fa5c48c67d7bacec36a414d0be06a5")
version("5.6.0", commit="f0fd02634c2f8f8c70f5a0ab2a8c84db5e36eeca")
version("5.5.1", commit="ac9e01e2cc3721be24619807adc444e1f59a9d25") version("5.5.1", commit="ac9e01e2cc3721be24619807adc444e1f59a9d25")
version("5.5.0", commit="8b76b832420a3d69708401de6607a033163edcce") version("5.5.0", commit="8b76b832420a3d69708401de6607a033163edcce")
version("5.4.3", commit="bb3d9546f186e39cefedc3e7f01d88924ba20168") version("5.4.3", commit="bb3d9546f186e39cefedc3e7f01d88924ba20168")
@ -40,7 +42,7 @@ class ComposableKernel(CMakePackage):
depends_on("pkgconfig", type="build") depends_on("pkgconfig", type="build")
depends_on("cmake@3.16:", type="build") depends_on("cmake@3.16:", type="build")
for ver in ["master", "5.5.1", "5.5.0", "5.4.3", "5.4.0"]: for ver in ["master", "5.6.1", "5.6.0", "5.5.1", "5.5.0", "5.4.3", "5.4.0"]:
depends_on("hip@" + ver, when="@" + ver) depends_on("hip@" + ver, when="@" + ver)
depends_on("llvm-amdgpu@" + ver, when="@" + ver) depends_on("llvm-amdgpu@" + ver, when="@" + ver)
depends_on("rocm-cmake@" + ver, when="@" + ver, type="build") depends_on("rocm-cmake@" + ver, when="@" + ver, type="build")

View File

@ -0,0 +1,48 @@
From 612664789657444daa88f8f28a183928e01595d0 Mon Sep 17 00:00:00 2001
From: Renjith Ravindran <Renjith.RavindranKannath@amd.com>
Date: Mon, 25 Sep 2023 19:30:19 +0000
Subject: [PATCH] Adding-half-include-directory-path
---
CMakeLists.txt | 4 +++-
cmake/PythonModules.cmake | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4601cdd..9cd48ad 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,7 +51,7 @@ set(CMAKE_BUILD_RPATH "${CMAKE_BINARY_DIR}/lib")
project(migraphx)
find_package(ROCM REQUIRED)
-find_path(HALF_INCLUDE_DIR half.hpp PATH_SUFFIXES half)
+find_path(HALF_INCLUDE_DIR half.hpp)
if (NOT HALF_INCLUDE_DIR)
message(FATAL_ERROR "Could not find half.hpp - Please check that the install path of half.hpp has been added to CMAKE_PREFIX_PATH")
else()
@@ -272,6 +272,8 @@ add_subdirectory(docs)
add_subdirectory(test)
add_subdirectory(tools)
+target_include_directories(migraphx PUBLIC "${NLOHMANN_JSON_INCLUDE} ${HALF_INCLUDE_DIR}")
+
set(DEST_DIR ${CMAKE_BINARY_DIR})
file(GLOB backend_files ${CMAKE_SOURCE_DIR}/src/py/backend/*.py)
file(MAKE_DIRECTORY ${DEST_DIR}/lib/onnx_migraphx)
diff --git a/cmake/PythonModules.cmake b/cmake/PythonModules.cmake
index b5818ce..b4bfbb3 100755
--- a/cmake/PythonModules.cmake
+++ b/cmake/PythonModules.cmake
@@ -76,7 +76,7 @@ function(py_add_module NAME)
)
endfunction()
-set(PYTHON_SEARCH_VERSIONS 2.7 3.5 3.6 3.7 3.8 3.9 3.10)
+set(PYTHON_SEARCH_VERSIONS 3.5 3.6 3.7 3.8 3.9 3.10)
set(PYTHON_DISABLE_VERSIONS "" CACHE STRING "")
foreach(PYTHON_DISABLE_VERSION ${PYTHON_DISABLE_VERSIONS})
list(REMOVE_ITEM PYTHON_SEARCH_VERSIONS ${PYTHON_DISABLE_VERSION})
--
2.31.1

View File

@ -19,6 +19,8 @@ class Migraphx(CMakePackage):
maintainers("srekolam", "renjithravindrankannath") maintainers("srekolam", "renjithravindrankannath")
libraries = ["libmigraphx"] libraries = ["libmigraphx"]
version("5.6.1", sha256="b108c33f07572ffd880b20f6de06f1934ab2a1b41ae69095612322ac412fa91c")
version("5.6.0", sha256="eaec90535d62002fd5bb264677ad4a7e30c55f18d2a287680d0495c7e60432b2")
version("5.5.1", sha256="e71c4744f8ef6a1a99c179bbad94b8fe9bd7686eaa9397f376b70988c3341f0c") version("5.5.1", sha256="e71c4744f8ef6a1a99c179bbad94b8fe9bd7686eaa9397f376b70988c3341f0c")
version("5.5.0", sha256="6084eb596b170f5e38f22b5fa37e66aa43a8cbc626712c9f03cde48c8fecfc8f") version("5.5.0", sha256="6084eb596b170f5e38f22b5fa37e66aa43a8cbc626712c9f03cde48c8fecfc8f")
version("5.4.3", sha256="f83e7bbe5d6d0951fb2cf0abf7e8b3530e9a5e45f7cec6d760da055d6905d568") version("5.4.3", sha256="f83e7bbe5d6d0951fb2cf0abf7e8b3530e9a5e45f7cec6d760da055d6905d568")
@ -110,19 +112,21 @@ def url_for_version(self, version):
return url return url
patch("0001-Adding-nlohmann-json-include-directory.patch", when="@3.9.0:") patch("0001-Adding-nlohmann-json-include-directory.patch", when="@3.9.0:5.5")
# Restrict Python 2.7 usage to fix the issue below # Restrict Python 2.7 usage to fix the issue below
# https://github.com/spack/spack/issues/24429 # https://github.com/spack/spack/issues/24429
patch("0002-restrict-python-2.7-usage.patch", when="@3.9.0:5.1.3") patch("0002-restrict-python-2.7-usage.patch", when="@3.9.0:5.1.3")
patch("0003-restrict-python-2.7-usage.patch", when="@5.2.0:5.4") patch("0003-restrict-python-2.7-usage.patch", when="@5.2.0:5.4")
patch("0004-restrict-python2.7-usage-for-5.5.0.patch", when="@5.5.0:") patch("0004-restrict-python2.7-usage-for-5.5.0.patch", when="@5.5.0")
patch("0005-Adding-half-include-directory-path-migraphx.patch", when="@5.6.0:")
depends_on("cmake@3.5:", type="build") depends_on("cmake@3.5:", type="build")
depends_on("protobuf", type="link") depends_on("protobuf", type="link")
depends_on("blaze", type="build") depends_on("blaze", type="build")
depends_on("nlohmann-json", type="link") depends_on("nlohmann-json", type="link")
depends_on("msgpack-c", type="link") depends_on("msgpack-c", type="link")
depends_on("half@1.12.0", type="link") depends_on("half@1.12.0", type="link", when="@:5.5")
depends_on("half@2:", when="@5.6:")
depends_on("python@3.5:", type="build") depends_on("python@3.5:", type="build")
depends_on("py-pybind11", type="build", when="@:4.0.0") depends_on("py-pybind11", type="build", when="@:4.0.0")
depends_on("py-pybind11@2.6:", type="build", when="@4.1.0:") depends_on("py-pybind11@2.6:", type="build", when="@4.1.0:")
@ -154,6 +158,8 @@ def url_for_version(self, version):
"5.4.3", "5.4.3",
"5.5.0", "5.5.0",
"5.5.1", "5.5.1",
"5.6.0",
"5.6.1",
]: ]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("hip@" + ver, when="@" + ver) depends_on("hip@" + ver, when="@" + ver)
@ -193,3 +199,11 @@ def cmake_args(self):
if "@5.5.0:" in self.spec: if "@5.5.0:" in self.spec:
args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}".format(abspath))) args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}".format(abspath)))
return args return args
def test(self):
if self.spec.satisfies("@:5.5.0"):
print("Skipping: stand-alone tests")
return
test_dir = join_path(self.spec["migraphx"].prefix, "bin")
with working_dir(test_dir, create=True):
self.run_test("UnitTests")

View File

@ -19,7 +19,8 @@ class MiopenHip(CMakePackage):
maintainers("srekolam", "renjithravindrankannath") maintainers("srekolam", "renjithravindrankannath")
libraries = ["libMIOpen"] libraries = ["libMIOpen"]
version("5.6.1", sha256="ff627d68ed9e52433a3c808b5d3ff179a398b77ce81b00cfea7b2c4da5162c6c")
version("5.6.0", sha256="d620ddab5b488bdf81242654fefa337c6b71dc410c2ff26d30a4ee86a8d22d11")
version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262") version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262")
version("5.5.0", sha256="791087242551669e546225e36123c21663f0dad14dbcfd6d0ce0e7bad0ab0de1") version("5.5.0", sha256="791087242551669e546225e36123c21663f0dad14dbcfd6d0ce0e7bad0ab0de1")
version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd") version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd")
@ -144,6 +145,8 @@ class MiopenHip(CMakePackage):
"5.4.3", "5.4.3",
"5.5.0", "5.5.0",
"5.5.1", "5.5.1",
"5.6.0",
"5.6.1",
]: ]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("hip@" + ver, when="@" + ver) depends_on("hip@" + ver, when="@" + ver)
@ -153,12 +156,11 @@ class MiopenHip(CMakePackage):
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]: for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]:
depends_on("mlirmiopen@" + ver, when="@" + ver) depends_on("mlirmiopen@" + ver, when="@" + ver)
for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1"]: for ver in ["5.5.1", "5.6.0", "5.6.1"]:
depends_on("nlohmann-json", type="link") depends_on("nlohmann-json", type="link")
depends_on("composable-kernel@" + ver, when="@" + ver)
for ver in ["5.4.0", "5.4.3", "5.5.0"]: for ver in ["5.4.0", "5.4.3", "5.5.0"]:
depends_on("rocmlir@" + ver, when="@" + ver) depends_on("rocmlir@" + ver, when="@" + ver)
for ver in ["5.5.1"]:
depends_on("composable-kernel@" + ver, when="@" + ver)
def setup_build_environment(self, env): def setup_build_environment(self, env):
if "@3.9.0:" in self.spec: if "@3.9.0:" in self.spec:
@ -209,7 +211,12 @@ def cmake_args(self):
) )
if self.spec.satisfies("@5.4.0:5.5.0"): if self.spec.satisfies("@5.4.0:5.5.0"):
args.append(self.define("MIOPEN_USE_COMPOSABLEKERNEL", "OFF")) args.append(self.define("MIOPEN_USE_COMPOSABLEKERNEL", "OFF"))
args.append(self.define("MIOPEN_USE_MLIR", "ON"))
args.append(self.define("MIOPEN_ENABLE_AI_KERNEL_TUNING", "OFF"))
if self.spec.satisfies("@5.5.1:"): if self.spec.satisfies("@5.5.1:"):
args.append(self.define("MIOPEN_USE_COMPOSABLEKERNEL", "ON")) args.append(self.define("MIOPEN_USE_COMPOSABLEKERNEL", "ON"))
args.append(self.define("MIOPEN_USE_MLIR", "OFF")) args.append(self.define("MIOPEN_ENABLE_AI_KERNEL_TUNING", "OFF"))
args.append(
"-DNLOHMANN_JSON_INCLUDE={0}".format(self.spec["nlohmann-json"].prefix.include)
)
return args return args

View File

@ -25,6 +25,8 @@ def url_for_version(self, version):
url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz" url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz"
return url.format(version) return url.format(version)
version("5.6.1", sha256="b2ff95c1488e244f379482631dae4f9ab92d94a513d180e03607aa1e184b5b0a")
version("5.6.0", sha256="34c184e202b1a6da2398b66e33c384d5bafd8f8291089c18539715c5cb73eb1f")
version("5.5.1", sha256="e8209f87a57c4222003a936240e7152bbfa496862113358f29d4c3e80d4cdf56") version("5.5.1", sha256="e8209f87a57c4222003a936240e7152bbfa496862113358f29d4c3e80d4cdf56")
version("5.5.0", sha256="af266550ecccad80f08954f23e47e8264eb338b0928a5314bd6efca349fc5a14") version("5.5.0", sha256="af266550ecccad80f08954f23e47e8264eb338b0928a5314bd6efca349fc5a14")
version("5.4.3", sha256="4da82974962a70c326ce2427c664517b1efdff436efe222e6bc28817c222a082") version("5.4.3", sha256="4da82974962a70c326ce2427c664517b1efdff436efe222e6bc28817c222a082")
@ -234,6 +236,8 @@ def patch(self):
"5.4.3", "5.4.3",
"5.5.0", "5.5.0",
"5.5.1", "5.5.1",
"5.6.0",
"5.6.1",
]: ]:
depends_on("rocm-opencl@" + ver, when="@" + ver) depends_on("rocm-opencl@" + ver, when="@" + ver)
depends_on("miopengemm@" + ver, when="@" + ver) depends_on("miopengemm@" + ver, when="@" + ver)
@ -255,13 +259,16 @@ def patch(self):
"5.4.3", "5.4.3",
"5.5.0", "5.5.0",
"5.5.1", "5.5.1",
"5.6.0",
"5.6.1",
]: ]:
depends_on("miopen-hip@" + ver, when="@" + ver) depends_on("miopen-hip@" + ver, when="@" + ver)
for ver in ["5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]: for ver in ["5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1", "5.6.0", "5.6.1"]:
depends_on("migraphx@" + ver, when="@" + ver) depends_on("migraphx@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]: for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]:
depends_on("rocm-core@" + ver, when="@" + ver) depends_on("rocm-core@" + ver, when="@" + ver)
depends_on("python@3.5:", type="build")
def flag_handler(self, name, flags): def flag_handler(self, name, flags):
spec = self.spec spec = self.spec