public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2020-12-06 19:04 Craig Andrews
  0 siblings, 0 replies; 11+ messages in thread
From: Craig Andrews @ 2020-12-06 19:04 UTC (permalink / raw
  To: gentoo-commits

commit:     78b2822bd8f77af2e247c1c2e2b2d34d4c8d4809
Author:     Wilfried Holzke <gentoo <AT> holzke <DOT> net>
AuthorDate: Sun Dec  6 17:06:49 2020 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Sun Dec  6 19:04:54 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78b2822b

dev-libs/rocm-opencl-runtime: Version bump to 3.10.0

Signed-off-by: Wilfried Holzke <gentoo <AT> holzke.net>
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |  1 +
 ...ime-3.10.0-add-rocclr-include-directories.patch | 12 ++++
 .../rocm-opencl-runtime-3.10.0.ebuild              | 69 ++++++++++++++++++++++
 3 files changed, 82 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index b18e4bbe1c0..8eb65768440 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,2 +1,3 @@
+DIST rocm-opencl-runtime-3.10.0.tar.gz 1004148 BLAKE2B 3d2539d24f8b3fd039424d606ebe36d7d8d1db2425f646d093a1a48d95c1c8b1c20821674fc628e622c2a5e7cbb30547805c3b84af16ad53f860f1064efa572b SHA512 121d0f310b4b235adf5f34dbf1989016b4c875bb47779b18d35fd9fab01c2118d1860e520cc6202a6fc3405b4c7897f491f611193c992cc25fe48e12bdd9f83f
 DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
 DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch
new file mode 100644
index 00000000000..13fc581b4cd
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch
@@ -0,0 +1,12 @@
+--- a/amdocl/CMakeLists.txt	2020-12-05 22:05:55.838529158 +0100
++++ b/amdocl/CMakeLists.txt	2020-12-05 22:07:35.677524507 +0100
+@@ -23,6 +23,9 @@
+ include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos)
+ include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
+ include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
++include_directories(/usr/include/rocclr)
++include_directories(/usr/include/rocclr/compiler/lib/include/)
++include_directories(/usr/include/rocclr/elf/)
+ 
+ if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
+    (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild
new file mode 100644
index 00000000000..12532109499
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic
+
+if [[ ${PV} == *9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+fi
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+	>=dev-libs/rocclr-${PV}
+	>=dev-libs/rocm-comgr-${PV}
+	>=dev-libs/rocm-device-libs-${PV}
+	>=virtual/opencl-3
+	media-libs/mesa"
+DEPEND="${RDEPEND}
+	dev-lang/ocaml
+	dev-ml/findlib"
+BDEPEND=">=dev-util/rocm-cmake-${PV}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
+	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+	"${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
+	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
+)
+
+src_prepare() {
+	# Remove "clinfo" - use "dev-util/clinfo" instead
+	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
+
+	# Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
+	sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+	append-cflags -fcommon
+
+	local mycmakeargs=(
+		-DUSE_COMGR_LIBRARY=yes
+		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
+		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
+	)
+	cmake_src_configure
+}
+
+src_install() {
+	cd "${BUILD_DIR}" || die
+	insinto /etc/OpenCL/vendors
+	doins amdocl64.icd
+	insinto /usr/lib64
+	doins lib/libamdocl64.so
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2023-02-20  4:33 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2023-02-20  4:33 UTC (permalink / raw
  To: gentoo-commits

commit:     374c8828b3a2bca0b55ebcce9b5b8b5c710647a1
Author:     Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com>
AuthorDate: Mon Feb 20 02:15:58 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb 20 04:26:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=374c8828

dev-libs/rocm-opencl-runtime: Fix gcc-13 build

Backport two patches for missing includes

Also apply patch for file rocm reorg (hsa/hsa.h) to 5.1.3 ebuild, which
fix compilation issue

Closes: https://bugs.gentoo.org/895382
Bug: https://bugs.gentoo.org/893602
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/29675
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/rocclr-5.3.3-gcc13.patch                 | 25 ++++++++++++++++++++++
 .../files/rocm-opencl-runtime-5.3.3-gcc13.patch    | 25 ++++++++++++++++++++++
 .../rocm-opencl-runtime-5.1.3.ebuild               |  5 ++++-
 .../rocm-opencl-runtime-5.3.3-r1.ebuild            |  3 +++
 4 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch b/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch
new file mode 100644
index 000000000000..17a64d20bf1e
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocclr-5.3.3-gcc13.patch
@@ -0,0 +1,25 @@
+From ca70cd7c3d63b1036e604116f3b269ca123e7904 Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <Jeremy.Newton@amd.com>
+Date: Wed, 8 Feb 2023 14:03:58 -0500
+Subject: [PATCH] SWDEV-1 - device: Add missing include
+
+Newer GCC's seem to require this.
+
+Change-Id: I85926d4fa552b772f2eb9f8ede7863a546c47f54
+Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
+---
+ device/devhcprintf.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/device/devhcprintf.cpp b/device/devhcprintf.cpp
+index b36f7758..a5aba4a4 100644
+--- a/device/devhcprintf.cpp
++++ b/device/devhcprintf.cpp
+@@ -23,6 +23,7 @@
+ 
+ #include <assert.h>
+ #include <cstdarg>
++#include <cstdint>
+ #include <cstdio>
+ #include <cstring>
+ #include <string>

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch
new file mode 100644
index 000000000000..01b3a68e70be
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch
@@ -0,0 +1,25 @@
+From 767241dca886bcd2469d91382afab9d032e1cfa6 Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <Jeremy.Newton@amd.com>
+Date: Wed, 8 Feb 2023 14:16:43 -0500
+Subject: [PATCH] SWDEV-1 - cltrace: Add missing include
+
+Newer GCC's seem to require this.
+
+Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
+Change-Id: I56ef934600729e892f1cd7ab11662760df48aed8
+---
+ tools/cltrace/cltrace.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/cltrace/cltrace.cpp b/tools/cltrace/cltrace.cpp
+index be96298..5ac5b62 100644
+--- a/tools/cltrace/cltrace.cpp
++++ b/tools/cltrace/cltrace.cpp
+@@ -17,6 +17,7 @@
+ #include <iostream>
+ #include <cstring>
+ #include <cstdlib>
++#include <cstdint>
+ 
+ #ifdef _MSC_VER
+ #include <windows.h>

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
index d3bff871de9b..e0845f49453a 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -30,6 +30,7 @@ BDEPEND=">=dev-util/rocm-cmake-${PV}
 PATCHES=(
 	"${FILESDIR}/${PN}-5.1.3-remove-clinfo.patch"
 	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+	"${FILESDIR}/${PN}-5.3.3-gcc13.patch"
 )
 
 S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
@@ -51,6 +52,8 @@ src_prepare() {
 	# Bug #753377
 	# patch re-enables accidentally disabled gfx800 family
 	eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+	eapply "${FILESDIR}/rocclr-5.3.3-fix-include.patch"
+	eapply "${FILESDIR}/rocclr-5.3.3-gcc13.patch"
 	popd || die
 }
 

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild
index 169deaf37b79..a982c2d36ed0 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild
@@ -30,6 +30,8 @@ BDEPEND=">=dev-util/rocm-cmake-${PV}
 S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
 S1="${WORKDIR}/ROCclr-rocm-${PV}"
 
+PATCHES=( "${FILESDIR}/${PN}-5.3.3-gcc13.patch" )
+
 src_prepare() {
 	cmake_src_prepare
 
@@ -38,6 +40,7 @@ src_prepare() {
 	# patch re-enables accidentally disabled gfx800 family
 	eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
 	eapply "${FILESDIR}/rocclr-${PV}-fix-include.patch"
+	eapply "${FILESDIR}/rocclr-5.3.3-gcc13.patch"
 	popd || die
 }
 


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2023-02-01  9:53 Andreas Sturmlechner
  0 siblings, 0 replies; 11+ messages in thread
From: Andreas Sturmlechner @ 2023-02-01  9:53 UTC (permalink / raw
  To: gentoo-commits

commit:     dc86f4599f56905af924f7b770abb3e1d4c65bcd
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 22:16:00 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb  1 09:52:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc86f459

dev-libs/rocm-opencl-runtime: drop 5.0.2-r1

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |  2 -
 .../rocm-opencl-runtime-4.5.2-remove-clinfo.patch  | 11 ---
 .../rocm-opencl-runtime-5.0.2-r1.ebuild            | 91 ----------------------
 3 files changed, 104 deletions(-)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index abe4435ef48d..3a3410c42246 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,6 +1,4 @@
-DIST rocclr-5.0.2.tar.gz 853965 BLAKE2B a0d568eb3b230845970d8256a5a2f32018e4b9fb68e0f1aa13a1f3fc953e614025315b90cbe68c107f7150cf91b4b1ea438455429062c7dc06ef77d65dedd2ec SHA512 b30a57c09973d8ef624511f422babaf9722685b9f85643783aebc000671b41fd54f44b308cece0baab187e1ee00b10335c6d22b6bad6fb3468abe6ef0da97d73
 DIST rocclr-5.1.3.tar.gz 618606 BLAKE2B 02b7732ddd03c0883bee49c56466cd21c649159f801bfb2537eea6e640c65613eb57b37d942f465a9deb83d65735f51212dde5e4f77ba8239d1a6b7037e1800c SHA512 89fd2eca39ed84a1cf525b2c606089ef39f64c1f997c4880e10722da6de4864110752640e1508db1aeb9d15c48ba4e6fe5dbe7a9e56718853ece42548028b2ca
 DIST rocclr-5.3.3.tar.gz 625944 BLAKE2B 0cdbc1415a355e1d56628834846aaa8587c9827eeea59f4312b788e868265dcb42197181fd5ef411416da2e11662c7f665f578aa750ab88c3a5405bcc58ee449 SHA512 3f85532cffc09c2ca8e7cd1770263d1c1a38633ed2bc5cfe62072e12a6f8f669db400519950718be31f6b77693d372e2ef905f06c7f02e126aa9ff7d2da97924
-DIST rocm-opencl-runtime-5.0.2.tar.gz 1004855 BLAKE2B e2c2beb987053204fbe8fda562ae65d6c1a58447e9e88bf1081aabeee6c9a10738fd8562114b564b647682438fdbd2c535db1008ac6e1cc4eb9a915998eeb3c7 SHA512 fa01d1fafc890181b9e67070353ee7c9100619494b7509cae1a3659f24ef1d00f650024cb24bdb0e6e7eacfdec1115e4683ec6f320228a19f41ae83321780780
 DIST rocm-opencl-runtime-5.1.3.tar.gz 1004765 BLAKE2B 64d9b42026d2be1d0e4aa666785699f6b4ec0584a927904a94bf830883050943503f8bdd7c97438a2fb11c71686a330d526f633959916c5c6c8da2e037841e79 SHA512 b83c3ae0bfad80f867bacce36710a8964f6dd7e64bf50da3ec6ce842217d6de63299d9ceaab9dc25a22252484520a85d02859809463dad5dda9b1f00a86863e0
 DIST rocm-opencl-runtime-5.3.3.tar.gz 1007773 BLAKE2B a3f600a68183337f92b152a123241cb7025889cca2ef6814d9d5b5a2146a78703b171d20bcb432bc7a2cdd1f24ad349408c17816b25a66702e9f0f5345af9082 SHA512 391f0f244b7f02972df8cada821e69ee8d81d96b9cff3c14f1d0838da583d8fb136ec4bd5ee820f6dd261968e9eef5e9a5b10b7bb76b1b64625c399d79bcb03f

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.5.2-remove-clinfo.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.5.2-remove-clinfo.patch
deleted file mode 100644
index e466c14b2a08..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.5.2-remove-clinfo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ruN ROCm-OpenCL-Runtime-rocm-4.5.2.old/CMakeLists.txt ROCm-OpenCL-Runtime-rocm-4.5.2/CMakeLists.txt
---- ROCm-OpenCL-Runtime-rocm-4.5.2.old/CMakeLists.txt	2021-09-27 18:33:06.000000000 +0200
-+++ ROCm-OpenCL-Runtime-rocm-4.5.2/CMakeLists.txt	2021-12-15 19:04:23.315989714 +0100
-@@ -14,7 +14,6 @@
- set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
- add_subdirectory(khronos/icd)
- add_subdirectory(amdocl)
--add_subdirectory(tools/clinfo)
- add_subdirectory(tools/cltrace)
- if(BUILD_TESTS)
-   add_subdirectory(tests/ocltst)

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2-r1.ebuild
deleted file mode 100644
index 9c74aa789f97..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2-r1.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
-	https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}
-	media-libs/glew
-	"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-4.5.2-remove-clinfo.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-)
-
-S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-S1="${WORKDIR}/ROCclr-rocm-${PV}"
-
-CMAKE_BUILD_TYPE=Release
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	cmake_src_prepare
-
-	hprefixify amdocl/CMakeLists.txt
-
-	local S="${S1}"
-	local CMAKE_USE_DIR="${S1}"
-	# Bug #753377
-	# patch re-enables accidentally disabled gfx8000 family
-	local PATCHES=("${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch")
-	BUILD_DIR="${S1}_build" cmake_src_prepare
-}
-
-src_configure() {
-	# configure ROCclr
-	CMAKE_USE_DIR="${S1}"
-	local mycmakeargs=(
-		-Wno-dev
-		-DAMD_OPENCL_PATH="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-	)
-	BUILD_DIR="${S1}_build" cmake_src_configure
-
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	CMAKE_USE_DIR="${S}"
-	local mycmakeargs=(
-		-Wno-dev
-		-DROCCLR_PATH="${S1}"
-		-DAMD_OPENCL_PATH="${S}"
-		-DROCM_PATH="${EPREFIX}/usr"
-	)
-	cmake_src_configure
-}
-
-src_compile() {
-	local S="${S1}"
-	BUILD_DIR="${S1}_build" cmake_src_compile
-
-	local S="${S}"
-	cmake_src_compile
-}
-
-src_install() {
-	insinto /etc/OpenCL/vendors
-	doins config/amdocl64.icd
-
-	cd "${BUILD_DIR}" || die
-	insinto /usr/lib64
-	doins amdocl/libamdocl64.so
-	doins tools/cltrace/libcltrace.so
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2022-12-19 14:00 Andreas Sturmlechner
  0 siblings, 0 replies; 11+ messages in thread
From: Andreas Sturmlechner @ 2022-12-19 14:00 UTC (permalink / raw
  To: gentoo-commits

commit:     7d2eb140ae43610f205893b1640ac3e43e767dba
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 18 19:06:42 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 19 14:00:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d2eb140

dev-libs/rocm-opencl-runtime: drop versions 3* and 4*

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |  9 ---
 ...ime-3.10.0-add-rocclr-include-directories.patch | 12 ---
 ...time-3.7.0-add-rocclr-include-directories.patch | 11 ---
 .../rocm-opencl-runtime-3.7.0-amdocl64icd.patch    | 10 ---
 ...ncl-runtime-3.7.0-change-install-location.patch | 79 -------------------
 ...time-3.9.0-add-rocclr-include-directories.patch | 12 ---
 .../rocm-opencl-runtime-4.2.0-opencl3-header.patch | 65 ----------------
 .../rocm-opencl-runtime-3.10.0.ebuild              | 67 ----------------
 .../rocm-opencl-runtime-3.8.0.ebuild               | 67 ----------------
 .../rocm-opencl-runtime-3.9.0.ebuild               | 67 ----------------
 .../rocm-opencl-runtime-4.0.0.ebuild               | 66 ----------------
 .../rocm-opencl-runtime-4.1.0.ebuild               | 66 ----------------
 .../rocm-opencl-runtime-4.2.0.ebuild               | 67 ----------------
 .../rocm-opencl-runtime-4.3.0.ebuild               | 67 ----------------
 .../rocm-opencl-runtime-4.5.2.ebuild               | 90 ----------------------
 15 files changed, 755 deletions(-)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index f12a4294fbcb..e92f2576c4bf 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,13 +1,4 @@
-DIST rocclr-4.5.2.tar.gz 846950 BLAKE2B beefc6a98d9a8a1a6c00b03cbfd960215888201002f7d4a0ee079db1fc29f2faa9f53326d49c1ad00f2c3a507d5047aae8175a3abb50ae0a74ba36fdc7df9e22 SHA512 121cfb711172596d9e4d429a38fb333bbb10e427ad49cf337324dc187a04adcd99e94521cda65ba21b6ac3bfd7837f607e4c0fe38c6ebca3d58bb090128d0a43
 DIST rocclr-5.0.2.tar.gz 853965 BLAKE2B a0d568eb3b230845970d8256a5a2f32018e4b9fb68e0f1aa13a1f3fc953e614025315b90cbe68c107f7150cf91b4b1ea438455429062c7dc06ef77d65dedd2ec SHA512 b30a57c09973d8ef624511f422babaf9722685b9f85643783aebc000671b41fd54f44b308cece0baab187e1ee00b10335c6d22b6bad6fb3468abe6ef0da97d73
 DIST rocclr-5.1.3.tar.gz 618606 BLAKE2B 02b7732ddd03c0883bee49c56466cd21c649159f801bfb2537eea6e640c65613eb57b37d942f465a9deb83d65735f51212dde5e4f77ba8239d1a6b7037e1800c SHA512 89fd2eca39ed84a1cf525b2c606089ef39f64c1f997c4880e10722da6de4864110752640e1508db1aeb9d15c48ba4e6fe5dbe7a9e56718853ece42548028b2ca
-DIST rocm-opencl-runtime-3.10.0.tar.gz 1004148 BLAKE2B 3d2539d24f8b3fd039424d606ebe36d7d8d1db2425f646d093a1a48d95c1c8b1c20821674fc628e622c2a5e7cbb30547805c3b84af16ad53f860f1064efa572b SHA512 121d0f310b4b235adf5f34dbf1989016b4c875bb47779b18d35fd9fab01c2118d1860e520cc6202a6fc3405b4c7897f491f611193c992cc25fe48e12bdd9f83f
-DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
-DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e
-DIST rocm-opencl-runtime-4.0.0.tar.gz 1004149 BLAKE2B a41ca63bdac1930599fd808d0a5609dd4c0d475ba5fd6278a6c201e1ac72867a587d1ac6fa7d7a18a29ab708dd14b24abddd1326e1489e6aaa82d4b26be5f2f5 SHA512 913a135d693c133e17e6b3abaecac46a4fbeb5683ed7cf04060e04bec5f37d4ba5dd5ff4b357b8304142346dbde8acd3ddfdc1028f788550e0ca245f7ce665ea
-DIST rocm-opencl-runtime-4.1.0.tar.gz 1005255 BLAKE2B 5833cc4bae3ecd5c9a3f601334424d03596bfe798bfc7c11ffa9d66b23d36f3fe6cfb1dbfd38c208a63ba824d6c5634f69448ace29ada6728c8ef544afcf1c0e SHA512 228c1bb337778b32c86d645fb874d03e9d6ee39ebfad23c813c0b2221a0421225aca63b2526d60c34d84f64147daad3e9324c2063db4b112aa30250359babbd2
-DIST rocm-opencl-runtime-4.2.0.tar.gz 1005604 BLAKE2B 09e100081295e8c3da1f8b6b4371d372bcde8dade66ba2718111044364ab6a9cf1c598bd650c57670759def20aa7e638c5ecfe2076191b51a76d68e57b536605 SHA512 49b07a07949506dfd74a047d01a0bd9e2f719f6a618b4e4786861f9d59a77ddf15e06e1d13e6bda08866e096f5bd73be8656eae3ad9806661149d20cfdd68566
-DIST rocm-opencl-runtime-4.3.0.tar.gz 1006792 BLAKE2B 29fd5843bb0153c7d3fe5250898f0fbdd089db6304122698c9ec9a5436e3a6845916f241f1a1e79a614e369f000297ac12413620edec0660d859ccddaa978d07 SHA512 a514d626700350f2c663db468427479eaa9e39dd912266ac2db6830d712351ffbc18737b208fd37f7ab5afdc2c9f6412d8d765973d6c72759bf51f864fc6bf1d
-DIST rocm-opencl-runtime-4.5.2.tar.gz 998488 BLAKE2B f5b92fca4b8aec8a709fccf6817bb3c6a1074f90a0ca8d38c23efe614672daf597f03e947dffbeca715619595878518e1eb7b8d3e3fd00dd02cdf076135fe626 SHA512 6c26b5517bebb2c3096efaec42bfdcb7485e13551b75397f029fa9b4925fe85201e749b91e3a068705cdf4284895d1d996b2819faf4013e1ed34a10319240452
 DIST rocm-opencl-runtime-5.0.2.tar.gz 1004855 BLAKE2B e2c2beb987053204fbe8fda562ae65d6c1a58447e9e88bf1081aabeee6c9a10738fd8562114b564b647682438fdbd2c535db1008ac6e1cc4eb9a915998eeb3c7 SHA512 fa01d1fafc890181b9e67070353ee7c9100619494b7509cae1a3659f24ef1d00f650024cb24bdb0e6e7eacfdec1115e4683ec6f320228a19f41ae83321780780
 DIST rocm-opencl-runtime-5.1.3.tar.gz 1004765 BLAKE2B 64d9b42026d2be1d0e4aa666785699f6b4ec0584a927904a94bf830883050943503f8bdd7c97438a2fb11c71686a330d526f633959916c5c6c8da2e037841e79 SHA512 b83c3ae0bfad80f867bacce36710a8964f6dd7e64bf50da3ec6ce842217d6de63299d9ceaab9dc25a22252484520a85d02859809463dad5dda9b1f00a86863e0

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch
deleted file mode 100644
index 13fc581b4cd9..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.10.0-add-rocclr-include-directories.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/amdocl/CMakeLists.txt	2020-12-05 22:05:55.838529158 +0100
-+++ b/amdocl/CMakeLists.txt	2020-12-05 22:07:35.677524507 +0100
-@@ -23,6 +23,9 @@
- include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
-+include_directories(/usr/include/rocclr)
-+include_directories(/usr/include/rocclr/compiler/lib/include/)
-+include_directories(/usr/include/rocclr/elf/)
- 
- if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
-    (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch
deleted file mode 100644
index 357b97c7f49e..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-add-rocclr-include-directories.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/amdocl/CMakeLists.txt	2020-08-23 10:11:28.227839351 +0200
-+++ b/amdocl/CMakeLists.txt	2020-08-23 10:44:34.929831772 +0200
-@@ -23,6 +23,8 @@
- include_directories(${CMAKE_SOURCE_DIR}/khronos)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2)
-+include_directories(/usr/include/rocclr)
-+include_directories(/usr/include/rocclr/compiler/lib/include/)
- 
- if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
-    (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch
deleted file mode 100644
index 6541c69bd48a..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-amdocl64icd.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/amdocl/CMakeLists.txt	2020-08-23 10:11:28.227839351 +0200
-+++ b/amdocl/CMakeLists.txt	2020-08-23 10:12:03.697839216 +0200
-@@ -76,3 +76,7 @@
- add_library(amdocl64 SHARED ${amdocl64_src})
- 
- target_link_libraries(amdocl64 amdrocclr_static Threads::Threads dl ${ADDITIONAL_LIBRARIES})
-+
-+file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/amdocl64.icd" CONTENT "$<TARGET_FILE_NAME:amdocl64>")
-+install(FILES "${CMAKE_BINARY_DIR}/amdocl64.icd" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/OpenCL/vendors/")
-+

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch
deleted file mode 100644
index 77ce5e9bd332..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.7.0-change-install-location.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- a/CMakeLists.txt	2020-08-23 10:14:54.337838565 +0200
-+++ b/CMakeLists.txt	2020-08-23 10:18:26.993837753 +0200
-@@ -14,6 +14,8 @@
- #example command:
- # cmake -DCMAKE_PREFIX_PATH=/path/to/ROCclr/build/or/install ..
- 
-+include (GNUInstallDirs)
-+
- set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
- option(BUILD_SHARED_LIBS "Build shared libs" ON)
- 
-@@ -60,7 +62,7 @@
- 
- add_subdirectory(khronos/icd)
- add_subdirectory(amdocl)
--add_subdirectory(tools/clinfo)
-+#add_subdirectory(tools/clinfo)
- add_subdirectory(tools/cltrace)
- if(BUILD_TESTS)
-   add_subdirectory(tests/ocltst)
-@@ -96,34 +98,34 @@
- ###--- Packaging ------------------------------------------------------------###
- 
- # MAIN package
--install(PROGRAMS $<TARGET_FILE:clinfo>
--        DESTINATION bin
--        COMPONENT MAIN)
--install(PROGRAMS $<TARGET_FILE:cltrace>
--        DESTINATION lib
--        COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_FILE:clinfo>
-+#        DESTINATION bin
-+#        COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_FILE:cltrace>
-+#        DESTINATION lib
-+#        COMPONENT MAIN)
- install(PROGRAMS $<TARGET_FILE:amdocl64>
--        DESTINATION lib
--        COMPONENT MAIN)
--install(PROGRAMS $<TARGET_FILE:OpenCL>
--        DESTINATION lib
--        COMPONENT MAIN)
--install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
--        DESTINATION lib
-+        DESTINATION lib64
-         COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_FILE:OpenCL>
-+#        DESTINATION lib
-+#        COMPONENT MAIN)
-+#install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
-+#        DESTINATION lib
-+#        COMPONENT MAIN)
- 
- # DEV package
--install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
--        DESTINATION include
--        COMPONENT DEV
--        USE_SOURCE_PERMISSIONS
--        PATTERN cl_d3d10.h EXCLUDE
--        PATTERN cl_d3d11.h EXCLUDE
--        PATTERN cl_dx9_media_sharing.h EXCLUDE
--        PATTERN cl_egl.h EXCLUDE)
--install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
--        DESTINATION lib
--        COMPONENT DEV)
-+#install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
-+#        DESTINATION include
-+#        COMPONENT DEV
-+#        USE_SOURCE_PERMISSIONS
-+#        PATTERN cl_d3d10.h EXCLUDE
-+#        PATTERN cl_d3d11.h EXCLUDE
-+#        PATTERN cl_dx9_media_sharing.h EXCLUDE
-+#        PATTERN cl_egl.h EXCLUDE)
-+#install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
-+#        DESTINATION lib
-+#        COMPONENT DEV)
- 
- #############################
- # Packaging steps

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch
deleted file mode 100644
index e9341675d890..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/amdocl/CMakeLists.txt	2020-08-23 10:11:28.227839351 +0200
-+++ b/amdocl/CMakeLists.txt	2020-08-23 10:44:34.929831772 +0200
-@@ -23,6 +23,9 @@
- include_directories(${CMAKE_SOURCE_DIR}/khronos)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers)
- include_directories(${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2)
-+include_directories(/usr/include/rocclr)
-+include_directories(/usr/include/rocclr/compiler/lib/include/)
-+include_directories(/usr/include/rocclr/elf/)
- 
- if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
-    (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch
deleted file mode 100644
index 14191adb5d0c..000000000000
--- a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.2.0-opencl3-header.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-See bug #789717.
-
-Once opencl-headers is upgraded to 3.0 or higher this package starts
-complaining left and right about missing header definitions for
-CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR.  The correct header for this
-definiton did move as of opencl-headers 3.0 so this makes some sense.
-(Actually I suspect there is a header-guard mismatch behind this problem).
-
-Most of this can be fixed by using -isystem instead of -I for the opencl
-headers. Although not terribly well documented, -isystem in lieu of -I
-comports with best practices for overriding 3rd-party header files in
-system include directories according to the gcc info pages.  Why and how
-are apparently undocumented and appear to be somewhere inside the gcc
-fixincludes rabbit-hole.
-
-This still leaves a similar issue compiling the amdocl files which
-is addressed here with an extra #include.
-
--gmt
-
-diff -urpN ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/CMakeLists.txt ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/CMakeLists.txt
---- ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/CMakeLists.txt	2021-06-26 14:52:32.446875129 -0700
-+++ ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/CMakeLists.txt	2021-06-26 15:00:30.401582470 -0700
-@@ -19,10 +19,10 @@ if(CMAKE_BUILD_TYPE MATCHES "^Debug$")
-   add_definitions(-DDEBUG)
- endif()
- 
--include_directories(${CMAKE_CURRENT_LIST_DIR}/..)
--include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos)
--include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
--include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/..)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../khronos)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
-+include_directories(SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
- include_directories(/usr/include/rocclr)
- include_directories(/usr/include/rocclr/compiler/lib/include/)
- include_directories(/usr/include/rocclr/elf/)
-diff -urpN ROCm-OpenCL-Runtime-rocm-4.1.0.orig/khronos/icd/CMakeLists.txt ROCm-OpenCL-Runtime-rocm-4.1.0/khronos/icd/CMakeLists.txt
---- ROCm-OpenCL-Runtime-rocm-4.1.0.orig/khronos/icd/CMakeLists.txt	2021-06-26 14:52:32.445875109 -0700
-+++ ROCm-OpenCL-Runtime-rocm-4.1.0/khronos/icd/CMakeLists.txt	2021-06-26 14:59:01.600778554 -0700
-@@ -121,10 +121,10 @@ else()
-     endif ()
- endif ()
- 
--include_directories (${OPENCL_ICD_LOADER_HEADERS_DIR})
-+include_directories (SYSTEM ${OPENCL_ICD_LOADER_HEADERS_DIR})
- add_definitions (-DCL_TARGET_OPENCL_VERSION=220)
- 
--target_include_directories (OpenCL PRIVATE ${CMAKE_CURRENT_BINARY_DIR} loader)
-+target_include_directories (OpenCL SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR} loader)
- target_link_libraries (OpenCL ${CMAKE_DL_LIBS})
- 
- include (CTest)
-diff -urpN ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/cl_common.hpp ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/cl_common.hpp
---- ROCm-OpenCL-Runtime-rocm-4.1.0.orig/amdocl/cl_common.hpp	2021-02-02 10:01:38.000000000 -0800
-+++ ROCm-OpenCL-Runtime-rocm-4.1.0/amdocl/cl_common.hpp	2021-06-26 15:40:57.584449532 -0700
-@@ -21,6 +21,7 @@
- #ifndef CL_COMMON_HPP_
- #define CL_COMMON_HPP_
- 
-+#include <CL/cl_gl_ext.h>
- #ifdef _WIN32
- #include <CL/cl_d3d11.h>
- #include <CL/cl_d3d10.h>

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild
deleted file mode 100644
index 748f8d2b952a..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.10.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	# Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
-	sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
-
-	cmake_src_prepare
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild
deleted file mode 100644
index d985d31a0764..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.8.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.7.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	# Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
-	sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
-
-	cmake_src_prepare
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild
deleted file mode 100644
index f2ea94531e96..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.9.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	# Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
-	sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
-
-	cmake_src_prepare
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild
deleted file mode 100644
index 7aa7bd6e9a07..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.0.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	cmake_src_prepare
-
-	hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild
deleted file mode 100644
index 7aa7bd6e9a07..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.1.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	cmake_src_prepare
-
-	hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild
deleted file mode 100644
index 336df477b70e..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.2.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-	"${FILESDIR}/${P}-opencl3-header.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	cmake_src_prepare
-
-	hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild
deleted file mode 100644
index 5bf69a9823a9..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.3.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-if [[ ${PV} == *9999 ]] ; then
-	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
-	inherit git-r3
-else
-	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="~amd64"
-	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocclr-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-	"${FILESDIR}/${PN}-3.10.0-add-rocclr-include-directories.patch"
-	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
-	"${FILESDIR}/${PN}-4.2.0-opencl3-header.patch"
-)
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	cmake_src_prepare
-
-	hprefixify amdocl/CMakeLists.txt
-}
-
-src_configure() {
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	local mycmakeargs=(
-		-DUSE_COMGR_LIBRARY=yes
-		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
-		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
-	)
-	cmake_src_configure
-}
-
-src_install() {
-	cd "${BUILD_DIR}" || die
-	insinto /etc/OpenCL/vendors
-	doins amdocl64.icd
-	insinto /usr/lib64
-	doins lib/libamdocl64.so
-}

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.5.2.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.5.2.ebuild
deleted file mode 100644
index a90a016047af..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.5.2.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic prefix
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
-	https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-
-RDEPEND=">=dev-libs/rocr-runtime-${PV}
-	>=dev-libs/rocm-comgr-${PV}
-	>=dev-libs/rocm-device-libs-${PV}
-	>=virtual/opencl-3
-	media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}
-	media-libs/glew
-	"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-4.5.2-remove-clinfo.patch"
-	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
-)
-
-S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-S1="${WORKDIR}/ROCclr-rocm-${PV}"
-
-CMAKE_BUILD_TYPE=Release
-
-src_prepare() {
-	# Remove "clinfo" - use "dev-util/clinfo" instead
-	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
-
-	cmake_src_prepare
-
-	hprefixify amdocl/CMakeLists.txt
-
-	local S="${S1}"
-	local CMAKE_USE_DIR="${S1}"
-	# Bug #753377
-	local PATCHES=()
-	BUILD_DIR="${S1}_build" cmake_src_prepare
-}
-
-src_configure() {
-	# configure ROCclr
-	CMAKE_USE_DIR="${S1}"
-	local mycmakeargs=(
-		-Wno-dev
-		-DAMD_OPENCL_PATH="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-	)
-	BUILD_DIR="${S1}_build" cmake_src_configure
-
-	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
-	append-cflags -fcommon
-
-	CMAKE_USE_DIR="${S}"
-	local mycmakeargs=(
-		-Wno-dev
-		-DROCCLR_PATH="${S1}"
-		-DAMD_OPENCL_PATH="${S}"
-		-DROCM_PATH="${EPREFIX}/usr"
-	)
-	cmake_src_configure
-}
-
-src_compile() {
-	local S="${S1}"
-	BUILD_DIR="${S1}_build" cmake_src_compile
-
-	local S="${S}"
-	cmake_src_compile
-}
-
-src_install() {
-	insinto /etc/OpenCL/vendors
-	doins config/amdocl64.icd
-
-	cd "${BUILD_DIR}" || die
-	insinto /usr/lib64
-	doins amdocl/libamdocl64.so
-	doins tools/cltrace/libcltrace.so
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2022-09-28  8:16 Andrew Ammerlaan
  0 siblings, 0 replies; 11+ messages in thread
From: Andrew Ammerlaan @ 2022-09-28  8:16 UTC (permalink / raw
  To: gentoo-commits

commit:     d3a748d7b9213589a8d04e5566fcdeefd6cc8188
Author:     Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com>
AuthorDate: Wed Jul 27 10:10:12 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Sep 28 08:16:18 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3a748d7

dev-libs/rocm-opencl-runtime: add 5.1.3

enable src_test, but it requires an actual X server (not Xvfb)

Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/26870
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |   2 +
 .../rocm-opencl-runtime-5.1.3-remove-clinfo.patch  |  24 ++++
 .../rocm-opencl-runtime-5.1.3.ebuild               | 123 +++++++++++++++++++++
 3 files changed, 149 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index ffbadf240148..f12a4294fbcb 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,5 +1,6 @@
 DIST rocclr-4.5.2.tar.gz 846950 BLAKE2B beefc6a98d9a8a1a6c00b03cbfd960215888201002f7d4a0ee079db1fc29f2faa9f53326d49c1ad00f2c3a507d5047aae8175a3abb50ae0a74ba36fdc7df9e22 SHA512 121cfb711172596d9e4d429a38fb333bbb10e427ad49cf337324dc187a04adcd99e94521cda65ba21b6ac3bfd7837f607e4c0fe38c6ebca3d58bb090128d0a43
 DIST rocclr-5.0.2.tar.gz 853965 BLAKE2B a0d568eb3b230845970d8256a5a2f32018e4b9fb68e0f1aa13a1f3fc953e614025315b90cbe68c107f7150cf91b4b1ea438455429062c7dc06ef77d65dedd2ec SHA512 b30a57c09973d8ef624511f422babaf9722685b9f85643783aebc000671b41fd54f44b308cece0baab187e1ee00b10335c6d22b6bad6fb3468abe6ef0da97d73
+DIST rocclr-5.1.3.tar.gz 618606 BLAKE2B 02b7732ddd03c0883bee49c56466cd21c649159f801bfb2537eea6e640c65613eb57b37d942f465a9deb83d65735f51212dde5e4f77ba8239d1a6b7037e1800c SHA512 89fd2eca39ed84a1cf525b2c606089ef39f64c1f997c4880e10722da6de4864110752640e1508db1aeb9d15c48ba4e6fe5dbe7a9e56718853ece42548028b2ca
 DIST rocm-opencl-runtime-3.10.0.tar.gz 1004148 BLAKE2B 3d2539d24f8b3fd039424d606ebe36d7d8d1db2425f646d093a1a48d95c1c8b1c20821674fc628e622c2a5e7cbb30547805c3b84af16ad53f860f1064efa572b SHA512 121d0f310b4b235adf5f34dbf1989016b4c875bb47779b18d35fd9fab01c2118d1860e520cc6202a6fc3405b4c7897f491f611193c992cc25fe48e12bdd9f83f
 DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
 DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e
@@ -9,3 +10,4 @@ DIST rocm-opencl-runtime-4.2.0.tar.gz 1005604 BLAKE2B 09e100081295e8c3da1f8b6b43
 DIST rocm-opencl-runtime-4.3.0.tar.gz 1006792 BLAKE2B 29fd5843bb0153c7d3fe5250898f0fbdd089db6304122698c9ec9a5436e3a6845916f241f1a1e79a614e369f000297ac12413620edec0660d859ccddaa978d07 SHA512 a514d626700350f2c663db468427479eaa9e39dd912266ac2db6830d712351ffbc18737b208fd37f7ab5afdc2c9f6412d8d765973d6c72759bf51f864fc6bf1d
 DIST rocm-opencl-runtime-4.5.2.tar.gz 998488 BLAKE2B f5b92fca4b8aec8a709fccf6817bb3c6a1074f90a0ca8d38c23efe614672daf597f03e947dffbeca715619595878518e1eb7b8d3e3fd00dd02cdf076135fe626 SHA512 6c26b5517bebb2c3096efaec42bfdcb7485e13551b75397f029fa9b4925fe85201e749b91e3a068705cdf4284895d1d996b2819faf4013e1ed34a10319240452
 DIST rocm-opencl-runtime-5.0.2.tar.gz 1004855 BLAKE2B e2c2beb987053204fbe8fda562ae65d6c1a58447e9e88bf1081aabeee6c9a10738fd8562114b564b647682438fdbd2c535db1008ac6e1cc4eb9a915998eeb3c7 SHA512 fa01d1fafc890181b9e67070353ee7c9100619494b7509cae1a3659f24ef1d00f650024cb24bdb0e6e7eacfdec1115e4683ec6f320228a19f41ae83321780780
+DIST rocm-opencl-runtime-5.1.3.tar.gz 1004765 BLAKE2B 64d9b42026d2be1d0e4aa666785699f6b4ec0584a927904a94bf830883050943503f8bdd7c97438a2fb11c71686a330d526f633959916c5c6c8da2e037841e79 SHA512 b83c3ae0bfad80f867bacce36710a8964f6dd7e64bf50da3ec6ce842217d6de63299d9ceaab9dc25a22252484520a85d02859809463dad5dda9b1f00a86863e0

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch
new file mode 100644
index 000000000000..d169902563e1
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.1.3-remove-clinfo.patch
@@ -0,0 +1,24 @@
+Index: ROCm-OpenCL-Runtime-rocm-5.1.3/CMakeLists.txt
+===================================================================
+--- ROCm-OpenCL-Runtime-rocm-5.1.3.orig/CMakeLists.txt
++++ ROCm-OpenCL-Runtime-rocm-5.1.3/CMakeLists.txt
+@@ -16,7 +16,6 @@ option(EMU_ENV "Enable building for emul
+ set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
+ add_subdirectory(khronos/icd)
+ add_subdirectory(amdocl)
+-add_subdirectory(tools/clinfo)
+ add_subdirectory(tools/cltrace)
+ if(BUILD_TESTS)
+   add_subdirectory(tests/ocltst)
+Index: ROCm-OpenCL-Runtime-rocm-5.1.3/packaging/CMakeLists.txt
+===================================================================
+--- ROCm-OpenCL-Runtime-rocm-5.1.3.orig/packaging/CMakeLists.txt
++++ ROCm-OpenCL-Runtime-rocm-5.1.3/packaging/CMakeLists.txt
+@@ -5,7 +5,6 @@ set(CPACK_COMPONENTS_ALL binary dev icd)
+ set(CPACK_DEB_COMPONENT_INSTALL ON)
+ set(CPACK_RPM_COMPONENT_INSTALL ON)
+ 
+-install(TARGETS clinfo DESTINATION bin COMPONENT binary)
+ install(TARGETS amdocl DESTINATION lib COMPONENT binary)
+ install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary)
+ 

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
new file mode 100644
index 000000000000..d3bff871de9b
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo flag-o-matic prefix
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
+	https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+	>=dev-libs/rocm-comgr-${PV}
+	>=dev-libs/rocm-device-libs-${PV}
+	>=virtual/opencl-3
+	media-libs/mesa"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-util/rocm-cmake-${PV}
+	media-libs/glew
+	test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+	"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.1.3-remove-clinfo.patch"
+	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+)
+
+S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+S1="${WORKDIR}/ROCclr-rocm-${PV}"
+
+src_prepare() {
+	# Remove "clinfo" - use "dev-util/clinfo" instead
+	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
+
+	cmake_src_prepare
+
+	hprefixify amdocl/CMakeLists.txt
+
+	sed -e "s/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g" -i packaging/CMakeLists.txt || die
+	# remove trailing CR or it won't work
+	sed -e "s/\r$//g" -i tests/ocltst/module/perf/oclperf.exclude || die
+
+	pushd ${S1} || die
+	# Bug #753377
+	# patch re-enables accidentally disabled gfx800 family
+	eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
+	popd || die
+}
+
+src_configure() {
+	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+	append-cflags -fcommon
+
+	local mycmakeargs=(
+		-Wno-dev
+		-DROCCLR_PATH="${S1}"
+		-DAMD_OPENCL_PATH="${S}"
+		-DROCM_PATH="${EPREFIX}/usr"
+		-DBUILD_TESTS=$(usex test ON OFF)
+		-DEMU_ENV=ON
+		# -DCMAKE_STRIP=""
+	)
+	cmake_src_configure
+}
+
+src_install() {
+	insinto /etc/OpenCL/vendors
+	doins config/amdocl64.icd
+
+	cd "${BUILD_DIR}" || die
+	insinto /usr/lib64
+	doins amdocl/libamdocl64.so
+	doins tools/cltrace/libcltrace.so
+}
+
+# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
+# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
+# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
+# pkgcheck warning.
+check-amdgpu() {
+	for device in /dev/kfd /dev/dri/render*; do
+		addwrite ${device}
+		if [[ ! -r ${device} || ! -w ${device} ]]; then
+			eerror "Cannot read or write ${device}!"
+			eerror "Make sure it is present and check the permission."
+			ewarn "By default render group have access to it. Check if portage user is in render group."
+			die "${device} inaccessible"
+		fi
+	done
+}
+
+src_test() {
+	check-amdgpu
+	cd "${BUILD_DIR}"/tests/ocltst || die
+	export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+	local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+	local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+	if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+		export DISPLAY=${OCLGL_DISPLAY}
+		export XAUTHORITY=${OCLGL_XAUTHORITY}
+		ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+		if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+			ewarn "${instruction1}"
+			ewarn "${instruction2}"
+			die "This display does not have AMD OpenGL vendor!"
+		fi
+		./ocltst -m liboclgl.so -A ogl.exclude
+		eend $? || die "oclgl test failed"
+	else
+		ewarn "${instruction1}"
+		ewarn "${instruction2}"
+		die "\${OCLGL_DISPLAY} not set."
+	fi
+	edob ./ocltst -m liboclruntime.so -A oclruntime.exclude
+	edob ./ocltst -m liboclperf.so -A oclperf.exclude
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2022-07-03 10:47 罗百科
  0 siblings, 0 replies; 11+ messages in thread
From: 罗百科 @ 2022-07-03 10:47 UTC (permalink / raw
  To: gentoo-commits

commit:     cbb1ec071fdd7c549f89419cabf8330e204bbc32
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  3 10:46:45 2022 +0000
Commit:     罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Sun Jul  3 10:47:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbb1ec07

dev-libs/rocm-opencl-runtime: Re-enable gfx800 family of cards

Discussion upstream at
https://github.com/RadeonOpenCompute/ROCm/issues/1659

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 .../files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch  | 16 ++++++++++++++++
 ...-5.0.2.ebuild => rocm-opencl-runtime-5.0.2-r1.ebuild} |  3 ++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch
new file mode 100644
index 000000000000..29482340295e
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.0.2-enable-gfx800.patch
@@ -0,0 +1,16 @@
+#From xuhuisheng
+#at https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1041026624
+
+diff --git a/utils/flags.hpp b/utils/flags.hpp
+index 8f0228cc..2eaa47c5 100644
+--- a/utils/flags.hpp
++++ b/utils/flags.hpp
+@@ -245,7 +245,7 @@ release(bool, ROC_SYSTEM_SCOPE_SIGNAL, true,                                  \
+         "Enable system scope for signals (uses interrupts).")                 \
+ release(bool, ROC_SKIP_COPY_SYNC, false,                                      \
+         "Skips copy syncs if runtime can predict the same engine.")           \
+-release(bool, ROC_ENABLE_PRE_VEGA, false,                                     \
++release(bool, ROC_ENABLE_PRE_VEGA, true,                                     \
+         "Enable support of pre-vega ASICs in ROCm path")                      \
+ release(bool, HIP_FORCE_QUEUE_PROFILING, false,                               \
+         "Force command queue profiling by default")                           \

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2-r1.ebuild
similarity index 94%
rename from dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2.ebuild
rename to dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2-r1.ebuild
index a90a016047af..9c74aa789f97 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.0.2-r1.ebuild
@@ -45,7 +45,8 @@ src_prepare() {
 	local S="${S1}"
 	local CMAKE_USE_DIR="${S1}"
 	# Bug #753377
-	local PATCHES=()
+	# patch re-enables accidentally disabled gfx8000 family
+	local PATCHES=("${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch")
 	BUILD_DIR="${S1}_build" cmake_src_prepare
 }
 


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2022-02-11 16:12 Joonas Niilola
  0 siblings, 0 replies; 11+ messages in thread
From: Joonas Niilola @ 2022-02-11 16:12 UTC (permalink / raw
  To: gentoo-commits

commit:     d5aad6148db7c533510b7d4ac6f57db176442302
Author:     Fco Javier Felix <ffelix <AT> inode64 <DOT> com>
AuthorDate: Fri Feb 11 16:01:32 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Feb 11 16:12:44 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5aad614

dev-libs/rocm-opencl-runtime: bump to 4.5.2

Package-Manager: Portage-3.0.28-r1, Repoman-3.0.3-r1
Signed-off-by: Fco. Javier Felix <ffelix <AT> inode64.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |  2 +
 .../rocm-opencl-runtime-4.5.2-remove-clinfo.patch  | 11 +++
 .../rocm-opencl-runtime-4.5.2.ebuild               | 90 ++++++++++++++++++++++
 3 files changed, 103 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index 8ccfc59066a7..784d981d606a 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,3 +1,4 @@
+DIST rocclr.tar.gz 846950 BLAKE2B beefc6a98d9a8a1a6c00b03cbfd960215888201002f7d4a0ee079db1fc29f2faa9f53326d49c1ad00f2c3a507d5047aae8175a3abb50ae0a74ba36fdc7df9e22 SHA512 121cfb711172596d9e4d429a38fb333bbb10e427ad49cf337324dc187a04adcd99e94521cda65ba21b6ac3bfd7837f607e4c0fe38c6ebca3d58bb090128d0a43
 DIST rocm-opencl-runtime-3.10.0.tar.gz 1004148 BLAKE2B 3d2539d24f8b3fd039424d606ebe36d7d8d1db2425f646d093a1a48d95c1c8b1c20821674fc628e622c2a5e7cbb30547805c3b84af16ad53f860f1064efa572b SHA512 121d0f310b4b235adf5f34dbf1989016b4c875bb47779b18d35fd9fab01c2118d1860e520cc6202a6fc3405b4c7897f491f611193c992cc25fe48e12bdd9f83f
 DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
 DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e
@@ -5,3 +6,4 @@ DIST rocm-opencl-runtime-4.0.0.tar.gz 1004149 BLAKE2B a41ca63bdac1930599fd808d0a
 DIST rocm-opencl-runtime-4.1.0.tar.gz 1005255 BLAKE2B 5833cc4bae3ecd5c9a3f601334424d03596bfe798bfc7c11ffa9d66b23d36f3fe6cfb1dbfd38c208a63ba824d6c5634f69448ace29ada6728c8ef544afcf1c0e SHA512 228c1bb337778b32c86d645fb874d03e9d6ee39ebfad23c813c0b2221a0421225aca63b2526d60c34d84f64147daad3e9324c2063db4b112aa30250359babbd2
 DIST rocm-opencl-runtime-4.2.0.tar.gz 1005604 BLAKE2B 09e100081295e8c3da1f8b6b4371d372bcde8dade66ba2718111044364ab6a9cf1c598bd650c57670759def20aa7e638c5ecfe2076191b51a76d68e57b536605 SHA512 49b07a07949506dfd74a047d01a0bd9e2f719f6a618b4e4786861f9d59a77ddf15e06e1d13e6bda08866e096f5bd73be8656eae3ad9806661149d20cfdd68566
 DIST rocm-opencl-runtime-4.3.0.tar.gz 1006792 BLAKE2B 29fd5843bb0153c7d3fe5250898f0fbdd089db6304122698c9ec9a5436e3a6845916f241f1a1e79a614e369f000297ac12413620edec0660d859ccddaa978d07 SHA512 a514d626700350f2c663db468427479eaa9e39dd912266ac2db6830d712351ffbc18737b208fd37f7ab5afdc2c9f6412d8d765973d6c72759bf51f864fc6bf1d
+DIST rocm-opencl-runtime-4.5.2.tar.gz 998488 BLAKE2B f5b92fca4b8aec8a709fccf6817bb3c6a1074f90a0ca8d38c23efe614672daf597f03e947dffbeca715619595878518e1eb7b8d3e3fd00dd02cdf076135fe626 SHA512 6c26b5517bebb2c3096efaec42bfdcb7485e13551b75397f029fa9b4925fe85201e749b91e3a068705cdf4284895d1d996b2819faf4013e1ed34a10319240452

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.5.2-remove-clinfo.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.5.2-remove-clinfo.patch
new file mode 100644
index 000000000000..e466c14b2a08
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-4.5.2-remove-clinfo.patch
@@ -0,0 +1,11 @@
+diff -ruN ROCm-OpenCL-Runtime-rocm-4.5.2.old/CMakeLists.txt ROCm-OpenCL-Runtime-rocm-4.5.2/CMakeLists.txt
+--- ROCm-OpenCL-Runtime-rocm-4.5.2.old/CMakeLists.txt	2021-09-27 18:33:06.000000000 +0200
++++ ROCm-OpenCL-Runtime-rocm-4.5.2/CMakeLists.txt	2021-12-15 19:04:23.315989714 +0100
+@@ -14,7 +14,6 @@
+ set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
+ add_subdirectory(khronos/icd)
+ add_subdirectory(amdocl)
+-add_subdirectory(tools/clinfo)
+ add_subdirectory(tools/cltrace)
+ if(BUILD_TESTS)
+   add_subdirectory(tests/ocltst)

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.5.2.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.5.2.ebuild
new file mode 100644
index 000000000000..318b9184f5c4
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-4.5.2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic prefix
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr.tar.gz
+	https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+	>=dev-libs/rocm-comgr-${PV}
+	>=dev-libs/rocm-device-libs-${PV}
+	>=virtual/opencl-3
+	media-libs/mesa"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-util/rocm-cmake-${PV}
+	media-libs/glew
+	"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-4.5.2-remove-clinfo.patch"
+	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+)
+
+S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+S1="${WORKDIR}/ROCclr-rocm-${PV}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+	# Remove "clinfo" - use "dev-util/clinfo" instead
+	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
+
+	cmake_src_prepare
+
+	hprefixify amdocl/CMakeLists.txt
+
+	local S="${S1}"
+	local CMAKE_USE_DIR="${S1}"
+	# Bug #753377
+	local PATCHES=()
+	BUILD_DIR="${S1}_build" cmake_src_prepare
+}
+
+src_configure() {
+	# configure ROCclr
+	CMAKE_USE_DIR="${S1}"
+	local mycmakeargs=(
+		-Wno-dev
+		-DAMD_OPENCL_PATH="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+	)
+	BUILD_DIR="${S1}_build" cmake_src_configure
+
+	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+	append-cflags -fcommon
+
+	CMAKE_USE_DIR="${S}"
+	local mycmakeargs=(
+		-Wno-dev
+		-DROCCLR_PATH="${S1}"
+		-DAMD_OPENCL_PATH="${S}"
+		-DROCM_PATH="${EPREFIX}/usr"
+	)
+	cmake_src_configure
+}
+
+src_compile() {
+	local S="${S1}"
+	BUILD_DIR="${S1}_build" cmake_src_compile
+
+	local S="${S}"
+	cmake_src_compile
+}
+
+src_install() {
+	insinto /etc/OpenCL/vendors
+	doins config/amdocl64.icd
+
+	cd "${BUILD_DIR}" || die
+	insinto /usr/lib64
+	doins amdocl/libamdocl64.so
+	doins tools/cltrace/libcltrace.so
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2020-11-14 21:02 Craig Andrews
  0 siblings, 0 replies; 11+ messages in thread
From: Craig Andrews @ 2020-11-14 21:02 UTC (permalink / raw
  To: gentoo-commits

commit:     56baaf39ac73c4dada3f1a0e394d0b26f2d6cd2c
Author:     Wilfried Holzke <gentoo <AT> holzke <DOT> net>
AuthorDate: Sat Nov 14 20:54:32 2020 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Sat Nov 14 21:02:38 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56baaf39

dev-libs/rocm-opencl-runtime: Version bump to 3.9.0

Signed-off-by: Wilfried Holzke <gentoo <AT> holzke.net>
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Closes: https://github.com/gentoo/gentoo/pull/18261
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |  1 +
 ...time-3.9.0-add-rocclr-include-directories.patch | 12 ++++
 .../rocm-opencl-runtime-3.9.0.ebuild               | 69 ++++++++++++++++++++++
 3 files changed, 82 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index f211cc17aaa..b18e4bbe1c0 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1 +1,2 @@
 DIST rocm-opencl-runtime-3.8.0.tar.gz 1004339 BLAKE2B 966a5bd1d4d188004b15fe4263f2c18f6dad6a07f4bc264a5afa010f6035fbf73288966cd624e6e31e1ba584ba322d93343e3482177e6480c4a57a4150546f5a SHA512 bb4e3568e32bf6acc3c4812d7db169396a01bf90d079dc420ffb7df4bd4146d39938e76e9b386548fe64276bbf938a545c898de599113f20cc73ae98268c3d6a
+DIST rocm-opencl-runtime-3.9.0.tar.gz 1004372 BLAKE2B f5485dfbc615826214e1071485636e94bc83d12d4412da912455cb0ddd39ede3429a749a16428cb3c10775e652ffbe31a63ad00b3ea38a7fa43a120776a12bfe SHA512 e8149e99a7116a2c2af0d04dde55290c35dd5c6c26d95da8c8a04fcfccdb23f6617ab8348f9fc201b6d9fde7202de4ede480d7ac547ae2471c6ae10897e1795e

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch
new file mode 100644
index 00000000000..e9341675d89
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.9.0-add-rocclr-include-directories.patch
@@ -0,0 +1,12 @@
+--- a/amdocl/CMakeLists.txt	2020-08-23 10:11:28.227839351 +0200
++++ b/amdocl/CMakeLists.txt	2020-08-23 10:44:34.929831772 +0200
+@@ -23,6 +23,9 @@
+ include_directories(${CMAKE_SOURCE_DIR}/khronos)
+ include_directories(${CMAKE_SOURCE_DIR}/khronos/headers)
+ include_directories(${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2)
++include_directories(/usr/include/rocclr)
++include_directories(/usr/include/rocclr/compiler/lib/include/)
++include_directories(/usr/include/rocclr/elf/)
+ 
+ if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
+    (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild
new file mode 100644
index 00000000000..cd1f935e955
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.9.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic
+
+if [[ ${PV} == *9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+	S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
+fi
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+	>=dev-libs/rocclr-${PV}
+	>=dev-libs/rocm-comgr-${PV}
+	>=dev-libs/rocm-device-libs-${PV}
+	>=virtual/opencl-3
+	media-libs/mesa"
+DEPEND="${RDEPEND}
+	dev-lang/ocaml
+	dev-ml/findlib"
+BDEPEND=">=dev-util/rocm-cmake-${PV}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-3.7.0-change-install-location.patch"
+	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+	"${FILESDIR}/${PN}-3.9.0-add-rocclr-include-directories.patch"
+	"${FILESDIR}/${PN}-3.7.0-amdocl64icd.patch"
+)
+
+src_prepare() {
+	# Remove "clinfo" - use "dev-util/clinfo" instead
+	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
+
+	# Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
+	sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	# Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+	append-cflags -fcommon
+
+	local mycmakeargs=(
+		-DUSE_COMGR_LIBRARY=yes
+		-DROCclr_DIR="${EPREFIX}/usr/include/rocclr"
+		-DLIBROCclr_STATIC_DIR="${EPREFIX}/usr/lib/cmake/rocclr"
+	)
+	cmake_src_configure
+}
+
+src_install() {
+	cd "${BUILD_DIR}" || die
+	insinto /etc/OpenCL/vendors
+	doins amdocl64.icd
+	insinto /usr/lib64
+	doins lib/libamdocl64.so
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2020-06-09 14:40 Craig Andrews
  0 siblings, 0 replies; 11+ messages in thread
From: Craig Andrews @ 2020-06-09 14:40 UTC (permalink / raw
  To: gentoo-commits

commit:     3454d25f57caf63f3e2bf058abcbe13fa4a2c459
Author:     Wilfried Holzke <gentoo <AT> holzke <DOT> net>
AuthorDate: Mon Jun  8 18:40:47 2020 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Tue Jun  9 14:40:31 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3454d25f

dev-libs/rocm-opencl-runtime: ROCm-OpenCL-Runtime 3.5.0 version bump

Signed-off-by: Wilfried Holzke <gentoo <AT> holzke.net>
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Closes: https://github.com/gentoo/gentoo/pull/16128
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |  1 +
 .../rocm-opencl-runtime-3.5.0-amdocl64icd.patch    | 11 ++++
 ...ncl-runtime-3.5.0-change-install-location.patch | 77 ++++++++++++++++++++++
 ...cl-runtime-3.5.0-do-not-install-libopencl.patch | 14 ++++
 .../rocm-opencl-runtime-3.5.0.ebuild               | 57 ++++++++++++++++
 5 files changed, 160 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index 7c04e9be819..61c9de050a5 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -2,3 +2,4 @@ DIST OpenCL-ICD-Loader-6c03f8b58fafd9dd693eaac826749a5cfad515f8.tar.gz 63248 BLA
 DIST rocm-opencl-runtime-3.0.0.tar.gz 974702 BLAKE2B 2cc1eaf1aa8d8cc80de698b587bf38cfebd51b31959b9d0150e4f01ea1b41240b0311cad156c48cf531207f1a120d2151f38679a8bc4cef1e73c9c8e56dcaf45 SHA512 2a47deda34544832421fd8110dd437eaeab3a1fca498a9ac14e825402d48e81fb9fe065d078bc8bf112e0534a750fdf81a29bf5979b42f9925b1561f7bcbf6e7
 DIST rocm-opencl-runtime-3.1.0.tar.gz 969782 BLAKE2B efe3cba6122273900fec80f577c45b5a93816cfd3cadbffaa36df258ea163ecc9d47530da0aa012fd7797c431506deb96fd3642c160470e2b78af75bc9fd56f6 SHA512 1665c30349547e6404563b1b1dd4258af5ab8106a66d65d6f94e7eb3ef51b2da9bc71878330c0c7ec21842e17a97e910a36be9b06fbdeab3de84bebe3a65c9db
 DIST rocm-opencl-runtime-3.3.0.tar.gz 969871 BLAKE2B 5dae88abc5861752b45f2b7e72a4d774786d0363a6da633d2ca1386a002374243a0655e8c5bc4aaa7a7db528f3c9bd5e6e1298561d3b06ce935865b6f0106172 SHA512 10c892cebca3db031b69ef3e1521fa11e49f40b18b621983f4f0902c9f563ff178d543fd1a05f6217f817838499436adaac883f7b474b64a54ce9eeb482382e5
+DIST rocm-opencl-runtime-3.5.0.tar.gz 734076 BLAKE2B cc6992999188968c628b378f637c8073c99381fab42e05d7d9d89d75fe9f2bd3d573f61f00a18c078542f7fc4a3a856385d0f34fa9bb599dd63de8be18594bdf SHA512 658649c3f13d32308f8f031f26b62c20bda4841059b5ea0db5c6a827af26b07aa0bdee07a461cc4b3c37108b3f25ae59b1658fab30125f84c0729fb57c2fa014

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-amdocl64icd.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-amdocl64icd.patch
new file mode 100644
index 00000000000..dadf212d3d4
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-amdocl64icd.patch
@@ -0,0 +1,11 @@
+--- a/amdocl/CMakeLists.txt	2020-06-07 14:38:38.827042792 +0200
++++ b/amdocl/CMakeLists.txt	2020-06-07 14:38:27.505042835 +0200
+@@ -109,3 +109,8 @@
+ find_package(Threads REQUIRED)
+ 
+ target_link_libraries(amdocl64 amdrocclr_static Threads::Threads dl)
++
++file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/amdocl64.icd" CONTENT "$<TARGET_FILE_NAME:amdocl64>")
++install(FILES "${CMAKE_BINARY_DIR}/amdocl64.icd" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/OpenCL/vendors/")
++
++

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-change-install-location.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-change-install-location.patch
new file mode 100644
index 00000000000..5de4804c7be
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-change-install-location.patch
@@ -0,0 +1,77 @@
+--- a/CMakeLists.txt	2020-06-07 13:41:57.205055768 +0200
++++ b/CMakeLists.txt	2020-06-07 16:02:45.704023540 +0200
+@@ -10,12 +10,14 @@
+ #example command:
+ #cmake -DROCclr_DIR=/rocclr -DUSE_COMGR_LIBRARY=yes -DLIBROCclr_STATIC_DIR=/build ..
+ 
++include (GNUInstallDirs)
++
+ set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
+ set(BUILD_SHARED_LIBS "Build shared libs" ON)
+ 
+ add_subdirectory(khronos/icd)
+ add_subdirectory(amdocl)
+-add_subdirectory(tools/clinfo)
++#add_subdirectory(tools/clinfo)
+ add_subdirectory(tools/cltrace)
+ 
+ # get date information based on UTC
+@@ -45,34 +47,34 @@
+ ###--- Packaging ------------------------------------------------------------###
+ 
+ # MAIN package
+-install(PROGRAMS $<TARGET_FILE:clinfo>
+-        DESTINATION bin
+-        COMPONENT MAIN)
+-install(PROGRAMS $<TARGET_FILE:cltrace>
+-        DESTINATION lib
+-        COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_FILE:clinfo>
++#        DESTINATION bin
++#        COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_FILE:cltrace>
++#        DESTINATION lib64
++#        COMPONENT MAIN)
+ install(PROGRAMS $<TARGET_FILE:amdocl64>
+-        DESTINATION lib
+-        COMPONENT MAIN)
+-install(PROGRAMS $<TARGET_FILE:OpenCL>
+-        DESTINATION lib
+-        COMPONENT MAIN)
+-install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
+-        DESTINATION lib
++        DESTINATION lib64
+         COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_FILE:OpenCL>
++#        DESTINATION lib
++#        COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
++#        DESTINATION lib
++#        COMPONENT MAIN)
+ 
+ # DEV package
+-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
+-        DESTINATION include
+-        COMPONENT DEV
+-        USE_SOURCE_PERMISSIONS
+-        PATTERN cl_d3d10.h EXCLUDE
+-        PATTERN cl_d3d11.h EXCLUDE
+-        PATTERN cl_dx9_media_sharing.h EXCLUDE
+-        PATTERN cl_egl.h EXCLUDE)
+-install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
+-        DESTINATION lib
+-        COMPONENT DEV)
++#install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL"
++#        DESTINATION include
++#        COMPONENT DEV
++#        USE_SOURCE_PERMISSIONS
++#        PATTERN cl_d3d10.h EXCLUDE
++#        PATTERN cl_d3d11.h EXCLUDE
++#        PATTERN cl_dx9_media_sharing.h EXCLUDE
++#        PATTERN cl_egl.h EXCLUDE)
++#install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
++#        DESTINATION lib
++#        COMPONENT DEV)
+ 
+ #############################
+ # Packaging steps

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-do-not-install-libopencl.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-do-not-install-libopencl.patch
new file mode 100644
index 00000000000..a74b2363c2d
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-do-not-install-libopencl.patch
@@ -0,0 +1,14 @@
+--- a/khronos/icd/CMakeLists.txt	2020-06-07 16:05:32.425022904 +0200
++++ b/khronos/icd/CMakeLists.txt	2020-06-07 16:06:03.273022786 +0200
+@@ -132,7 +132,7 @@
+     add_subdirectory (test)
+ endif()
+ 
+-install (TARGETS OpenCL
+-    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+-    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+-    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++#install (TARGETS OpenCL
++#    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++#    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++#    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.5.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.5.0.ebuild
new file mode 100644
index 00000000000..b0fa0e30b92
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-3.5.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+	S="${WORKDIR}/ROCm-OpenCL-Runtime-roc-${PV}"
+fi
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+	>=dev-libs/rocclr-${PV}
+	>=dev-libs/rocm-comgr-${PV}
+	>=dev-libs/rocm-device-libs-${PV}
+	>=virtual/opencl-3
+	media-libs/mesa"
+DEPEND="${RDEPEND}
+	dev-lang/ocaml
+	dev-ml/findlib"
+BDEPEND=">=dev-util/rocm-cmake-${PV}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-3.5.0-change-install-location.patch"
+	"${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.patch"
+	"${FILESDIR}/${PN}-3.5.0-amdocl64icd.patch"
+)
+
+src_prepare() {
+	# Remove "clinfo" - use "dev-util/clinfo" instead
+	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
+
+	# Wrong position of a '"' results in a list of strings instead of a single string and the build fails...
+	sed -e "s:set(CMAKE_SHARED_LINKER_FLAGS \${CMAKE_SHARED_LINKER_FLAGS} \":set(CMAKE_SHARED_LINKER_FLAGS \"\${CMAKE_SHARED_LINKER_FLAGS} :" -i "${S}/amdocl/CMakeLists.txt"
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DUSE_COMGR_LIBRARY=yes
+		-DROCclr_DIR=/usr/include/rocclr
+		-DLIBROCclr_STATIC_DIR=/usr/lib64/cmake/rocclr
+	)
+	cmake_src_configure
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2019-09-30 15:23 Craig Andrews
  0 siblings, 0 replies; 11+ messages in thread
From: Craig Andrews @ 2019-09-30 15:23 UTC (permalink / raw
  To: gentoo-commits

commit:     6172e7509687d5758e6294a511a153b81a665179
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 15:18:28 2019 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 15:18:28 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6172e750

dev-libs/rocm-opencl-runtime: 2.8.0 version bump

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |   2 +
 .../rocm-opencl-runtime-2.8.0-amdocl64icd.patch    |  13 ++
 ...-opencl-runtime-2.8.0-change-AMDCompilerh.patch |  79 +++++++++++
 ...ncl-runtime-2.8.0-change-install-location.patch | 146 +++++++++++++++++++++
 .../rocm-opencl-runtime-2.8.0-change-opencl.patch  |  70 ++++++++++
 .../rocm-opencl-runtime-2.8.0-update-README.patch  |  41 ++++++
 .../rocm-opencl-runtime-2.8.0.ebuild               |  57 ++++++++
 7 files changed, 408 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index 7d10d714262..1ac3a1de1bd 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,2 +1,4 @@
+DIST OpenCL-ICD-Loader-6c03f8b58fafd9dd693eaac826749a5cfad515f8.tar.gz 63248 BLAKE2B 7c311d98e5a209d01f1f1dbad7471ceb3de66e10f7cee48686ed176efcde1e7ba48ea12bdbf2af61d5f72e5b8eda69b2fae6829d265a8b88ad46c4ec4995d8d4 SHA512 5033d6fb0ef2515e56b0d9c31baf6fe02e90613989c417fbde20efd79e0ac2841df1a98ff799e60cc469b79244cdc756d15950df6c9baead7d31febe7cad0418
 DIST OpenCL-ICD-Loader-bc9728edf8cace79cf33bf75560be88fc2432dc4.tar.gz 62858 BLAKE2B 931fb7ade12debda99512d8b9fbfb987f47e3b68568863e480de406f842a014d39f0321c44420fb8b68b8757d49cc02cadf82e767c9d2b71e53bdb8e9763cace SHA512 2ab9035fbc0a80a529d1b2f454b0b9a263b6eff601121750e81e2e32581f06189566cdcf201ab741ff3f1491ead825a7858000901f8042af67b1304be622e9fa
 DIST rocm-opencl-runtime-2.6.0.tar.gz 986155 BLAKE2B 43469ec3a368e2ee9716a38d08df48c28165a233bd80de54f286011df25782a197e252e8e41ffa8f59eecf93d6beae5434497e8d4b648676252d32a0859ba59a SHA512 bbbbd29bf23f93440135786600cca28a806714bb207b7ad0947d26471fa38470820e7801acc84380000d43d55ff2ec1d95cee9e64b500628b6a3b026744c67df
+DIST rocm-opencl-runtime-2.8.0.tar.gz 976851 BLAKE2B 4191c2f027f615a8ba7a38d30364549df509e6bd432e5bfe3d30d40fb6bade15b58fe824b5aa9704e5d93421f28e1067d283738fa85e7ec59a444f5be25c963c SHA512 6c070d3e2f455d96f028f614f0562c0b8983b457c6295c398d6d4574133d4a7384573caa1f32e39550887861aa09aa19c9e34fc8bbae6ddc41ae395969d33540

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-amdocl64icd.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-amdocl64icd.patch
new file mode 100644
index 00000000000..f399f360c9c
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-amdocl64icd.patch
@@ -0,0 +1,13 @@
+diff --git a/api/opencl/amdocl/CMakeLists.txt b/api/opencl/amdocl/CMakeLists.txt
+index 8ea8517..d1223ed 100644
+--- a/api/opencl/amdocl/CMakeLists.txt
++++ b/api/opencl/amdocl/CMakeLists.txt
+@@ -82,3 +82,7 @@ if(${USE_COMGR_LIBRARY} MATCHES "yes")
+ else()
+   target_link_libraries(amdocl64 opencl_driver oclelf pthread dl ${ROCT_LIBRARIES} ${ROCR_LIBRARIES})
+ endif()
++
++file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/amdocl64.icd" CONTENT "$<TARGET_FILE_NAME:amdocl64>")
++install(FILES "${CMAKE_BINARY_DIR}/amdocl64.icd" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/OpenCL/vendors/")
++
+

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-AMDCompilerh.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-AMDCompilerh.patch
new file mode 100644
index 00000000000..796277e4672
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-AMDCompilerh.patch
@@ -0,0 +1,79 @@
+diff --git a/runtime/device/device.hpp b/runtime/device/device.hpp
+index 9eb45b2..a721463 100644
+--- a/runtime/device/device.hpp
++++ b/runtime/device/device.hpp
+@@ -21,7 +21,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) && !defined(USE_COMGR_LIBRARY)
+ #include "caching/cache.hpp"
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif  // defined(WITH_LIGHTNING_COMPILER) && ! defined(USE_COMGR_LIBRARY)
+ #include "acl.h"
+ 
+diff --git a/runtime/device/devprogram.cpp b/runtime/device/devprogram.cpp
+index 587e950..dc233f3 100644
+--- a/runtime/device/devprogram.cpp
++++ b/runtime/device/devprogram.cpp
+@@ -14,7 +14,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #include "libraries.amdgcn.inc"
+ #include "opencl1.2-c.amdgcn.inc"
+ #include "opencl2.0-c.amdgcn.inc"
+diff --git a/runtime/device/devprogram.hpp b/runtime/device/devprogram.hpp
+index 68de7ba..8b91ba2 100644
+--- a/runtime/device/devprogram.hpp
++++ b/runtime/device/devprogram.hpp
+@@ -11,7 +11,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #else
+ #include "amd_comgr.h"
+ #endif
+diff --git a/runtime/device/rocm/rocdevice.cpp b/runtime/device/rocm/rocdevice.cpp
+index 4cba9d7..7ab30ed 100644
+--- a/runtime/device/rocm/rocdevice.cpp
++++ b/runtime/device/rocm/rocdevice.cpp
+@@ -20,7 +20,7 @@
+ #include "device/rocm/rocvirtual.hpp"
+ #include "device/rocm/rocprogram.hpp"
+ #if defined(WITH_LIGHTNING_COMPILER) && ! defined(USE_COMGR_LIBRARY)
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif  // defined(WITH_LIGHTNING_COMPILER) && ! defined(USE_COMGR_LIBRARY)
+ #include "device/rocm/rocmemory.hpp"
+ #include "device/rocm/rocglinterop.hpp"
+diff --git a/runtime/device/rocm/rockernel.cpp b/runtime/device/rocm/rockernel.cpp
+index 8a28acc..7d5b62d 100644
+--- a/runtime/device/rocm/rockernel.cpp
++++ b/runtime/device/rocm/rockernel.cpp
+@@ -11,7 +11,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif
+ #include "llvm/Support/AMDGPUMetadata.h"
+ 
+diff --git a/runtime/device/rocm/rocprogram.cpp b/runtime/device/rocm/rocprogram.cpp
+index 0155dc2..613d00d 100644
+--- a/runtime/device/rocm/rocprogram.cpp
++++ b/runtime/device/rocm/rocprogram.cpp
+@@ -10,7 +10,7 @@
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #include <gelf.h>
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #include "libraries.amdgcn.inc"
+ #endif
+ #endif  // defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-install-location.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-install-location.patch
new file mode 100644
index 00000000000..0679da4d639
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-install-location.patch
@@ -0,0 +1,146 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 83575a3..a0526d1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,12 +28,26 @@ endif()
+ 
+ project(OpenCL-ROCm)
+ 
++include (GNUInstallDirs)
++
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+ set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2" CACHE PATH "")
+ 
+ find_package(ROCT REQUIRED)
+ find_package(ROCR REQUIRED)
+ 
++find_package(LLVM REQUIRED CONFIG PATHS ${LLVM_DIR} "/opt/rocm/llvm" NO_DEFAULT_PATH)
++set(USE_COMGR_LIBRARY "yes")
++find_package(amd_comgr REQUIRED CONFIG)
++add_definitions(-DUSE_COMGR_LIBRARY)
++FOREACH(DIR ${LLVM_INCLUDE_DIRS})
++  include_directories("${DIR}")
++  include_directories("${DIR}/clang")
++  include_directories("${DIR}/lld")
++  # TODO: move AMDGPU.h header to include folder
++  include_directories("${DIR}/llvm/Target/AMDGPU")
++ENDFOREACH()
++
+ # FIXME: Remove following if block after enabling COMGR by default
+ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+   set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "")
+@@ -46,29 +60,19 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+   # override default option value in library and driver
+   set(GENERIC_IS_ZERO ON CACHE BOOL ON FORCE)
+ 
+-  add_subdirectory(compiler/llvm EXCLUDE_FROM_ALL)
+-
+-  find_package(LLVM REQUIRED CONFIG PATHS ${CMAKE_BINARY_DIR}/compiler/llvm NO_DEFAULT_PATH)
++  find_package(LLVM REQUIRED CONFIG PATHS ${LLVM_DIR} "/opt/rocm/llvm" NO_DEFAULT_PATH)
+ 
+   list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
+   include(AddLLVM)
+ 
+   add_definitions(${LLVM_DEFINITIONS})
+-  # TODO: add find_package for Clang and lld, and also use LLVM/Clang variables got from their config
+-  include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/include)
+-  include_directories(${CMAKE_BINARY_DIR}/compiler/llvm/tools/clang/include)
+-  include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/tools/lld/include)
+-
+-  # TODO: move AMDGPU.h header to include folder
+-  include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/lib/Target/AMDGPU)
+-  include_directories(${CMAKE_BINARY_DIR}/compiler/llvm/lib/Target/AMDGPU)
+ 
+   set(BUILD_HC_LIB OFF CACHE BOOL "")
+   set(ROCM_DEVICELIB_INCLUDE_TESTS OFF CACHE BOOL "")
+   set(AMDGCN_TARGETS_LIB_LIST "AMDGCN_LIB_TARGETS")
+   set(AMDGCN_TARGETS_LIB_DEPS "AMDGCN_DEP_TARGETS")
+   set(AMDGPU_TARGET_TRIPLE "amdgcn-amd-amdhsa")
+-  add_subdirectory(library/amdgcn EXCLUDE_FROM_ALL)
++
+   add_subdirectory(compiler/driver EXCLUDE_FROM_ALL)
+ 
+   install(PROGRAMS $<TARGET_FILE:clang> $<TARGET_FILE:lld>
+@@ -84,51 +88,51 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+   endforeach()
+ endif() # if (${USE_COMGR_LIBRARY} STREQUAL "no")
+ 
+-if(${USE_COMGR_LIBRARY} MATCHES "yes")
+-  set(COMGR_DYN_DLL "yes")
+-  add_definitions(-DCOMGR_DYN_DLL)
+-  add_definitions(-DUSE_COMGR_LIBRARY)
+-  if( ${BUILD_HIP} MATCHES "yes")
+-    add_subdirectory(api/hip)
+-  endif()
+-endif()
++#if(${USE_COMGR_LIBRARY} MATCHES "yes")
++#  set(COMGR_DYN_DLL "yes")
++#  add_definitions(-DCOMGR_DYN_DLL)
++#  add_definitions(-DUSE_COMGR_LIBRARY)
++#  if( ${BUILD_HIP} MATCHES "yes")
++#    add_subdirectory(api/hip)
++#  endif()
++#endif()
+ 
+ add_subdirectory(api/opencl/amdocl)
+ add_subdirectory(compiler/lib/loaders/elf/utils/libelf)
+ add_subdirectory(runtime)
+-add_subdirectory(tools/clinfo)
++#add_subdirectory(tools/clinfo)
+ 
+ set(BUILD_SHARED_LIBS "Build shared libs" ON)
+-add_subdirectory(api/opencl/khronos/icd)
++#add_subdirectory(api/opencl/khronos/icd)
+ 
+ ###--- Packaging ------------------------------------------------------------###
+ 
+ # MAIN package
+-install(PROGRAMS $<TARGET_FILE:clinfo>
+-        DESTINATION bin/x86_64
+-        COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_FILE:clinfo>
++#        DESTINATION bin/x86_64
++#        COMPONENT MAIN)
+ install(PROGRAMS $<TARGET_FILE:amdocl64>
+-        DESTINATION lib/x86_64
+-        COMPONENT MAIN)
+-install(PROGRAMS $<TARGET_FILE:OpenCL>
+-        DESTINATION lib/x86_64
+-        COMPONENT MAIN)
+-install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
+-        DESTINATION lib/x86_64
++        DESTINATION lib64
+         COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_FILE:OpenCL>
++#        DESTINATION lib/x86_64
++#        COMPONENT MAIN)
++#install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL>
++#        DESTINATION lib/x86_64
++#        COMPONENT MAIN)
+ 
+ # DEV package
+-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2/CL"
+-        DESTINATION include
+-        COMPONENT DEV
+-        USE_SOURCE_PERMISSIONS
+-        PATTERN cl_d3d10.h EXCLUDE
+-        PATTERN cl_d3d11.h EXCLUDE
+-        PATTERN cl_dx9_media_sharing.h EXCLUDE
+-        PATTERN cl_egl.h EXCLUDE)
+-install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
+-        DESTINATION lib/x86_64
+-        COMPONENT DEV)
++#install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2/CL"
++#        DESTINATION include
++#        COMPONENT DEV
++#        USE_SOURCE_PERMISSIONS
++#        PATTERN cl_d3d10.h EXCLUDE
++#        PATTERN cl_d3d11.h EXCLUDE
++#        PATTERN cl_dx9_media_sharing.h EXCLUDE
++#        PATTERN cl_egl.h EXCLUDE)
++#install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
++#        DESTINATION lib/x86_64
++#        COMPONENT DEV)
+ 
+ # Generic CPACK variables
+ set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators")

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch
new file mode 100644
index 00000000000..cd6695e2d4f
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch
@@ -0,0 +1,70 @@
+diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
+index 2c9dfd6..863b4bf 100644
+--- a/runtime/CMakeLists.txt
++++ b/runtime/CMakeLists.txt
+@@ -23,7 +23,6 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+   include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/include)
+ endif() # if (${USE_COMGR_LIBRARY} STREQUAL "no")
+ 
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/driver/src)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/include)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/backends/common)
+@@ -79,6 +78,8 @@ add_library(oclruntime OBJECT
+   ${COMGR_CPP}
+ )
+ set_target_properties(oclruntime PROPERTIES POSITION_INDEPENDENT_CODE ON)
++#add_dependencies(oclruntime opencl1.2-c.amdgcn.inc_target)
++#add_dependencies(oclruntime opencl2.0-c.amdgcn.inc_target)
+ 
+ set(AMDGCN_DEP_LIST)
+ if(AMDGCN_TARGETS_LIB_DEPS)
+diff --git a/runtime/device/rocm/CMakeLists.txt b/runtime/device/rocm/CMakeLists.txt
+index 5870b65..39166f3 100644
+--- a/runtime/device/rocm/CMakeLists.txt
++++ b/runtime/device/rocm/CMakeLists.txt
+@@ -1,3 +1,21 @@
++find_package(Clang REQUIRED CONFIG)
++
++# FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but
++# really there is no way to reliably discover this header.
++#
++# We effectively back up to the Clang output directory (for the case of a build
++# tree) or install prefix (for the case of an installed copy), and then search
++# for a file named opencl-c.h anywhere below that. We take the first result in
++# the case where there are multiple (e.g. if there is an installed copy nested
++# in a build directory). This is a bit imprecise, but it covers cases like MSVC
++# adding some additional configuration-specific subdirectories to the build
++# tree but not to an installed copy.
++file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h")
++list(GET OPENCL_C_H_LIST 0 OPENCL_C_H)
++if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}")
++  message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.")
++endif()
++
+ include(bc2h)
+ 
+ set(INC_SUFFIX "amdgcn.inc")
+@@ -82,8 +100,8 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+ 
+   # generating opencl*.inc files
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch
+-    COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL1.2 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch < ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
+-    DEPENDS clang ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
++    COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL1.2 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch < ${OPENCL_C_H}
++    DEPENDS clang ${OPENCL_C_H}
+     COMMENT "Generating opencl1.2-c.amdgcn.pch"
+   )
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.inc
+@@ -96,8 +114,8 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+   add_dependencies(oclrocm opencl1.2-c.amdgcn.inc_target)
+ 
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch
+-    COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL2.0 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch < ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
+-    DEPENDS clang ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
++    COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL2.0 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch < ${OPENCL_C_H}
++    DEPENDS clang ${OPENCL_C_H}
+     COMMENT "Generating opencl2.0-c.amdgcn.pch"
+   )
+   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.inc
+

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-update-README.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-update-README.patch
new file mode 100644
index 00000000000..741faf20ca7
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-update-README.patch
@@ -0,0 +1,41 @@
+diff --git a/README.md b/README.md
+index a834965..7fea026 100644
+--- a/README.md
++++ b/README.md
+@@ -8,12 +8,6 @@ Developer preview Version 2 of the new
+ 
+ 
+ ## GETTING REPO
+-
+-Repo is a git wrapper that manages a collection of git repositories. Install this tool and add it to the command search PATH:
+-
+-    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
+-    chmod a+x ~/bin/repo
+-
+ ## GETTING THE SOURCE CODE
+ 
+ Main OpenCL™ Compatible Components:
+@@ -26,11 +20,6 @@ Main OpenCL™ Compatible Components:
+ * https://github.com/RadeonOpenCompute/lld 
+ * https://github.com/KhronosGroup/OpenCL-ICD-Loader
+ 
+-Download the git projects with the following commands:
+-
+-    ~/bin/repo init -u https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git -b master -m opencl.xml
+-    ~/bin/repo sync
+-    
+ ## INSTALL ROCm
+ 
+ Follow the instructions at https://rocm.github.io/install.html to install ROCm.
+@@ -45,6 +34,11 @@ Copy the amdocl64.icd file to /etc/OpenCL/vendors
+ 
+ To install additional dependencies:
+ 
++* ROCm-OpenCL-Runtime
++* ROCm-OpenCL-Driver
++* ROC versions of LLVM, Clang, and lld
++* ROCm-Device-Libs
++* OpenCL-ICD-Loade
+ * OCaml
+ * findlib
+ * A Python 2 environment or active virtualenv with the Microsoft Z3 package

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-2.8.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-2.8.0.ebuild
new file mode 100644
index 00000000000..b576f463c54
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-2.8.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+OPENCL_ICD_COMMIT="6c03f8b58fafd9dd693eaac826749a5cfad515f8"
+SRC_URI="https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/${OPENCL_ICD_COMMIT}.tar.gz -> OpenCL-ICD-Loader-${OPENCL_ICD_COMMIT}.tar.gz"
+if [[ ${PV} == *9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
+	inherit git-r3
+else
+	SRC_URI+=" https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+	S="${WORKDIR}/ROCm-OpenCL-Runtime-roc-${PV}"
+fi
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocr-runtime-${PV}
+	>=dev-libs/rocm-comgr-${PV}
+	>=dev-libs/rocm-device-libs-${PV}
+	>=dev-libs/rocm-opencl-driver-${PV}
+	dev-libs/ocl-icd[khronos-headers]"
+DEPEND="${RDEPEND}
+	dev-lang/ocaml
+	dev-ml/findlib"
+
+PATCHES=(
+	"${FILESDIR}/${P}-change-install-location.patch"
+	"${FILESDIR}/${P}-change-AMDCompilerh.patch"
+	"${FILESDIR}/${P}-change-opencl.patch"
+	"${FILESDIR}/${P}-update-README.patch"
+	"${FILESDIR}/${P}-amdocl64icd.patch"
+)
+
+src_prepare() {
+	mkdir -p "${S}"/api/opencl/khronos/ || die
+	mv "${WORKDIR}/OpenCL-ICD-Loader-${OPENCL_ICD_COMMIT}" "${S}"/api/opencl/khronos/icd || die
+	[ -d tools/clinfo ] && rm -rf tools/clinfo || die
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DUSE_COMGR_LIBRARY=yes
+		-DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/"
+		-DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang/"
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/"
+	)
+	cmake-utils_src_configure
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/
@ 2019-08-14  0:27 Craig Andrews
  0 siblings, 0 replies; 11+ messages in thread
From: Craig Andrews @ 2019-08-14  0:27 UTC (permalink / raw
  To: gentoo-commits

commit:     5d15eda65acc6e32daf37f651fa8f216065162f2
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  9 21:47:55 2019 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Wed Aug 14 00:27:12 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d15eda6

dev-libs/rocm-opencl-runtime: Radeon Open Compute OpenCL Compatible Runtime

Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 dev-libs/rocm-opencl-runtime/Manifest              |    2 +
 ...pencl-runtime-2.6.0-unbundle-dependencies.patch | 1233 ++++++++++++++++++++
 dev-libs/rocm-opencl-runtime/metadata.xml          |   14 +
 .../rocm-opencl-runtime-2.6.0.ebuild               |   50 +
 4 files changed, 1299 insertions(+)

diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
new file mode 100644
index 00000000000..7d10d714262
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -0,0 +1,2 @@
+DIST OpenCL-ICD-Loader-bc9728edf8cace79cf33bf75560be88fc2432dc4.tar.gz 62858 BLAKE2B 931fb7ade12debda99512d8b9fbfb987f47e3b68568863e480de406f842a014d39f0321c44420fb8b68b8757d49cc02cadf82e767c9d2b71e53bdb8e9763cace SHA512 2ab9035fbc0a80a529d1b2f454b0b9a263b6eff601121750e81e2e32581f06189566cdcf201ab741ff3f1491ead825a7858000901f8042af67b1304be622e9fa
+DIST rocm-opencl-runtime-2.6.0.tar.gz 986155 BLAKE2B 43469ec3a368e2ee9716a38d08df48c28165a233bd80de54f286011df25782a197e252e8e41ffa8f59eecf93d6beae5434497e8d4b648676252d32a0859ba59a SHA512 bbbbd29bf23f93440135786600cca28a806714bb207b7ad0947d26471fa38470820e7801acc84380000d43d55ff2ec1d95cee9e64b500628b6a3b026744c67df

diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.6.0-unbundle-dependencies.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.6.0-unbundle-dependencies.patch
new file mode 100644
index 00000000000..379dd11e9f9
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.6.0-unbundle-dependencies.patch
@@ -0,0 +1,1233 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ebdfc25..fb1c3eb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,6 +21,8 @@ endif()
+ 
+ project(OpenCL-ROCm)
+ 
++include (GNUInstallDirs)
++
+ # Add path for custom modules
+ set(CMAKE_MODULE_PATH
+   ${CMAKE_MODULE_PATH}
+@@ -38,38 +40,28 @@ set(CLANG_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "")
+ # override default option value in library and driver
+ set(GENERIC_IS_ZERO ON CACHE BOOL ON FORCE)
+ 
+-add_subdirectory(compiler/llvm EXCLUDE_FROM_ALL)
+-
+-find_package(LLVM REQUIRED CONFIG PATHS ${CMAKE_BINARY_DIR}/compiler/llvm NO_DEFAULT_PATH)
++find_package(LLVM REQUIRED CONFIG PATHS ${LLVM_DIR} "/opt/rocm/llvm" NO_DEFAULT_PATH)
+ 
+ list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
+ include(AddLLVM)
+ 
+ add_definitions(${LLVM_DEFINITIONS})
+-# TODO: add find_package for Clang and lld, and also use LLVM/Clang variables got from their config
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/include)
+-include_directories(${CMAKE_BINARY_DIR}/compiler/llvm/tools/clang/include)
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/tools/lld/include)
+-
+-# TODO: move AMDGPU.h header to include folder
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/lib/Target/AMDGPU)
+-include_directories(${CMAKE_BINARY_DIR}/compiler/llvm/lib/Target/AMDGPU)
+-
+-if(${USE_COMGR_LIBRARY} MATCHES "yes")
+-  set(COMGR_DYN_DLL "yes")
+-  add_definitions(-DCOMGR_DYN_DLL="yes")
+-  include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/include)
+-  add_definitions(-DUSE_COMGR_LIBRARY)
+-else()
+-  add_subdirectory(compiler/driver EXCLUDE_FROM_ALL)
+-endif()
++set(USE_COMGR_LIBRARY "yes")
++find_package(amd_comgr REQUIRED CONFIG)
++add_definitions(-DUSE_COMGR_LIBRARY)
++FOREACH(DIR ${LLVM_INCLUDE_DIRS})
++  include_directories("${DIR}")
++  include_directories("${DIR}/clang")
++  include_directories("${DIR}/lld")
++  # TODO: move AMDGPU.h header to include folder
++  include_directories("${DIR}/llvm/Target/AMDGPU")
++ENDFOREACH()
+ 
+ set(BUILD_HC_LIB OFF CACHE BOOL "")
+ set(ROCM_DEVICELIB_INCLUDE_TESTS OFF CACHE BOOL "")
+ set(AMDGCN_TARGETS_LIB_LIST "AMDGCN_LIB_TARGETS")
+ set(AMDGCN_TARGETS_LIB_DEPS "AMDGCN_DEP_TARGETS")
+ set(AMDGPU_TARGET_TRIPLE "amdgcn-amd-amdhsa-amdgizcl")
+-add_subdirectory(library/amdgcn EXCLUDE_FROM_ALL)
+ 
+ add_subdirectory(compiler/lib/loaders/elf/utils/libelf)
+ 
+@@ -82,28 +74,6 @@ set(OPENCL_INCLUDE_DIRS
+   ${CMAKE_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2)
+ 
+ add_subdirectory(api/opencl/amdocl)
+-add_subdirectory(api/opencl/khronos/icd)
+-
+-add_subdirectory(tools/clinfo)
+-
+-install(PROGRAMS $<TARGET_FILE:clang> $<TARGET_FILE:lld>
+-        DESTINATION bin/x86_64
+-        COMPONENT libraries)
+-
+-install(PROGRAMS $<TARGET_FILE:OpenCL>
+-        DESTINATION lib/x86_64
+-        COMPONENT applications)
+-
+-install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL>
+-        DESTINATION lib/x86_64
+-        COMPONENT libraries)
+-
+-install(DIRECTORY
+-        "${CMAKE_CURRENT_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2/CL"
+-        DESTINATION include
+-        COMPONENT libraries
+-        USE_SOURCE_PERMISSIONS
+-        PATTERN cl_egl.h EXCLUDE)
+ 
+ foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
+   get_target_property(lib_file_name ${AMDGCN_LIB_TARGET} ARCHIVE_OUTPUT_NAME)
+diff --git a/README.md b/README.md
+index a834965..e319be2 100644
+--- a/README.md
++++ b/README.md
+@@ -7,13 +7,6 @@ Developer preview Version 2 of the new
+ * Supports offline ahead of time compilation today; during the Beta phase we will add in-process/in-memory compilation.
+ 
+ 
+-## GETTING REPO
+-
+-Repo is a git wrapper that manages a collection of git repositories. Install this tool and add it to the command search PATH:
+-
+-    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
+-    chmod a+x ~/bin/repo
+-
+ ## GETTING THE SOURCE CODE
+ 
+ Main OpenCL™ Compatible Components:
+@@ -26,11 +19,6 @@ Main OpenCL™ Compatible Components:
+ * https://github.com/RadeonOpenCompute/lld 
+ * https://github.com/KhronosGroup/OpenCL-ICD-Loader
+ 
+-Download the git projects with the following commands:
+-
+-    ~/bin/repo init -u https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git -b master -m opencl.xml
+-    ~/bin/repo sync
+-    
+ ## INSTALL ROCm
+ 
+ Follow the instructions at https://rocm.github.io/install.html to install ROCm.
+@@ -45,6 +33,11 @@ Copy the amdocl64.icd file to /etc/OpenCL/vendors
+ 
+ To install additional dependencies:
+ 
++* ROCm-OpenCL-Runtime
++* ROCm-OpenCL-Driver
++* ROC versions of LLVM, Clang, and lld
++* ROCm-Device-Libs
++* OpenCL-ICD-Loader
+ * OCaml
+ * findlib
+ * A Python 2 environment or active virtualenv with the Microsoft Z3 package
+diff --git a/api/opencl/amdocl/CMakeLists.txt b/api/opencl/amdocl/CMakeLists.txt
+index 91bd42f..8606c98 100644
+--- a/api/opencl/amdocl/CMakeLists.txt
++++ b/api/opencl/amdocl/CMakeLists.txt
+@@ -21,7 +21,6 @@ include_directories(${CMAKE_SOURCE_DIR}/api/opencl)
+ include_directories(${CMAKE_SOURCE_DIR}/api/opencl/khronos)
+ include_directories(${CMAKE_SOURCE_DIR}/api/opencl/khronos/headers)
+ include_directories(${CMAKE_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2)
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/driver/src)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/include)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/backends/common)
+@@ -67,6 +66,9 @@ add_library(amdocl64 SHARED
+   ${ADDITIONAL_LIBRARIES}
+ )
+ 
+-target_link_libraries(amdocl64 opencl_driver oclelf pthread dl ${ROCR_LIBRARIES})
++target_link_libraries(amdocl64 opencl_driver oclelf pthread dl ${ROCR_LIBRARIES} LLVMBitWriter LLVMIRReader LLVMLinker LLVMMCParser amd_comgr)
+ 
+-install(TARGETS amdocl64 LIBRARY DESTINATION lib/x86_64 COMPONENT applications)
++install(TARGETS amdocl64 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT applications)
++
++file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/amdocl64.icd" CONTENT "$<TARGET_FILE_NAME:amdocl64>")
++install(FILES "${CMAKE_BINARY_DIR}/amdocl64.icd" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/OpenCL/vendors/")
+diff --git a/api/opencl/amdocl/cl_execute.cpp b/api/opencl/amdocl/cl_execute.cpp
+index 0336353..ee799e6 100644
+--- a/api/opencl/amdocl/cl_execute.cpp
++++ b/api/opencl/amdocl/cl_execute.cpp
+@@ -10,7 +10,7 @@
+ #include "platform/program.hpp"
+ #include "os/os.hpp"
+ 
+-#include <icd/icd_dispatch.h>
++#include <icd/loader/icd_dispatch.h>
+ 
+ /*! \addtogroup API
+  *  @{
+diff --git a/api/opencl/amdocl/cl_icd.cpp b/api/opencl/amdocl/cl_icd.cpp
+index 71b886c..7e4e317 100644
+--- a/api/opencl/amdocl/cl_icd.cpp
++++ b/api/opencl/amdocl/cl_icd.cpp
+@@ -10,7 +10,7 @@
+ #include "cl_d3d11_amd.hpp"
+ #endif  //_WIN32
+ 
+-#include <icd/icd_dispatch.h>
++#include <icd/loader/icd_dispatch.h>
+ 
+ #include <mutex>
+ 
+diff --git a/opencl.xml b/opencl.xml
+deleted file mode 100644
+index 4813651..0000000
+--- a/opencl.xml
++++ /dev/null
+@@ -1,17 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<manifest>
+-  <remote name="RadeonOpenCompute" fetch="https://github.com/RadeonOpenCompute/"/>
+-  <remote name="KhronosGroup" fetch="https://github.com/KhronosGroup/"/>
+-
+-  <default remote="RadeonOpenCompute" revision="refs/tags/roc-2.6.0" sync-c="true" sync-j="4"/>
+-
+-  <project path="opencl" name="ROCm-OpenCL-Runtime"/>
+-  <project path="opencl/compiler/driver" name="ROCm-OpenCL-Driver"/>
+-  <project path="opencl/compiler/llvm" name="llvm" revision="refs/tags/roc-ocl-2.6.0"/>
+-  <project path="opencl/compiler/llvm/tools/clang" name="clang"/>
+-  <project path="opencl/compiler/llvm/tools/lld" name="lld" revision="refs/tags/roc-ocl-2.6.0"/>
+-
+-  <project path="opencl/library/amdgcn" name="ROCm-Device-Libs" revision="refs/tags/roc-ocl-2.6.0"/>
+-
+-  <project path="opencl/api/opencl/khronos/icd" name="OpenCL-ICD-Loader" remote="KhronosGroup" revision="7433f2acbf5bbc400f26494ff1dc895da6265bef"/>
+-</manifest>
+diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
+index 62e2bf7..5e4abae 100644
+--- a/runtime/CMakeLists.txt
++++ b/runtime/CMakeLists.txt
+@@ -14,8 +14,6 @@ include_directories(${CMAKE_SOURCE_DIR}/api/opencl)
+ include_directories(${CMAKE_SOURCE_DIR}/api/opencl/khronos)
+ include_directories(${CMAKE_SOURCE_DIR}/api/opencl/khronos/headers)
+ include_directories(${CMAKE_SOURCE_DIR}/api/opencl/khronos/headers/opencl2.2)
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/include)
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/driver/src)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/include)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/backends/common)
+@@ -36,6 +34,7 @@ add_library(oclruntime OBJECT
+   utils/flags.cpp
+   utils/debug.cpp
+   device/appprofile.cpp
++  device/comgrctx.cpp
+   device/device.cpp
+   device/hwdebug.cpp
+   device/blitcl.cpp
+@@ -63,6 +62,8 @@ add_library(oclruntime OBJECT
+   ${CMAKE_SOURCE_DIR}/compiler/tools/caching/cache.cpp
+ )
+ set_target_properties(oclruntime PROPERTIES POSITION_INDEPENDENT_CODE ON)
++add_dependencies(oclruntime opencl1.2-c.amdgcn.inc_target)
++add_dependencies(oclruntime opencl2.0-c.amdgcn.inc_target)
+ 
+ set(AMDGCN_DEP_LIST)
+ if(AMDGCN_TARGETS_LIB_DEPS)
+diff --git a/runtime/device/device.hpp b/runtime/device/device.hpp
+index 450cd69..8134fa2 100644
+--- a/runtime/device/device.hpp
++++ b/runtime/device/device.hpp
+@@ -21,7 +21,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) && !defined(USE_COMGR_LIBRARY)
+ #include "caching/cache.hpp"
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif  // defined(WITH_LIGHTNING_COMPILER) && ! defined(USE_COMGR_LIBRARY)
+ #include "acl.h"
+ 
+diff --git a/runtime/device/devprogram.cpp b/runtime/device/devprogram.cpp
+index 22fb125..3d475b2 100644
+--- a/runtime/device/devprogram.cpp
++++ b/runtime/device/devprogram.cpp
+@@ -14,7 +14,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #include "libraries.amdgcn.inc"
+ #include "opencl1.2-c.amdgcn.inc"
+ #include "opencl2.0-c.amdgcn.inc"
+diff --git a/runtime/device/devprogram.hpp b/runtime/device/devprogram.hpp
+index 67af239..8390e7d 100644
+--- a/runtime/device/devprogram.hpp
++++ b/runtime/device/devprogram.hpp
+@@ -11,7 +11,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #else
+ #include "amd_comgr.h"
+ #endif
+diff --git a/runtime/device/rocm/CMakeLists.txt b/runtime/device/rocm/CMakeLists.txt
+index 4ce7c45..617bece 100644
+--- a/runtime/device/rocm/CMakeLists.txt
++++ b/runtime/device/rocm/CMakeLists.txt
+@@ -1,3 +1,21 @@
++find_package(Clang REQUIRED CONFIG)
++
++# FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but
++# really there is no way to reliably discover this header.
++#
++# We effectively back up to the Clang output directory (for the case of a build
++# tree) or install prefix (for the case of an installed copy), and then search
++# for a file named opencl-c.h anywhere below that. We take the first result in
++# the case where there are multiple (e.g. if there is an installed copy nested
++# in a build directory). This is a bit imprecise, but it covers cases like MSVC
++# adding some additional configuration-specific subdirectories to the build
++# tree but not to an installed copy.
++file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h")
++list(GET OPENCL_C_H_LIST 0 OPENCL_C_H)
++if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}")
++  message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.")
++endif()
++
+ include(bc2h)
+ 
+ set(INC_SUFFIX "amdgcn.inc")
+@@ -74,8 +92,8 @@ endforeach()
+ 
+ # generating opencl*.inc files
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch
+-  COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL1.2 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch < ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
+-  DEPENDS clang ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
++  COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL1.2 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch < ${OPENCL_C_H}
++  DEPENDS clang ${OPENCL_C_H}
+   COMMENT "Generating opencl1.2-c.amdgcn.pch"
+ )
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.inc
+@@ -88,8 +106,8 @@ add_custom_target(opencl1.2-c.amdgcn.inc_target ALL DEPENDS ${CMAKE_CURRENT_BINA
+ add_dependencies(oclrocm opencl1.2-c.amdgcn.inc_target)
+ 
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch
+-  COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL2.0 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch < ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
+-  DEPENDS clang ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
++  COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL2.0 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch < ${OPENCL_C_H}
++  DEPENDS clang ${OPENCL_C_H}
+   COMMENT "Generating opencl2.0-c.amdgcn.pch"
+ )
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.inc
+diff --git a/runtime/device/rocm/rocdevice.cpp b/runtime/device/rocm/rocdevice.cpp
+index 8b9901b..2648459 100644
+--- a/runtime/device/rocm/rocdevice.cpp
++++ b/runtime/device/rocm/rocdevice.cpp
+@@ -20,7 +20,7 @@
+ #include "device/rocm/rocvirtual.hpp"
+ #include "device/rocm/rocprogram.hpp"
+ #if defined(WITH_LIGHTNING_COMPILER) && ! defined(USE_COMGR_LIBRARY)
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif  // defined(WITH_LIGHTNING_COMPILER) && ! defined(USE_COMGR_LIBRARY)
+ #include "device/rocm/rocmemory.hpp"
+ #include "device/rocm/rocglinterop.hpp"
+diff --git a/runtime/device/rocm/rockernel.cpp b/runtime/device/rocm/rockernel.cpp
+index 8a28acc..7d5b62d 100644
+--- a/runtime/device/rocm/rockernel.cpp
++++ b/runtime/device/rocm/rockernel.cpp
+@@ -11,7 +11,7 @@
+ 
+ #if defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif
+ #include "llvm/Support/AMDGPUMetadata.h"
+ 
+diff --git a/runtime/device/rocm/rocprogram.cpp b/runtime/device/rocm/rocprogram.cpp
+index 191e58c..58d82e6 100644
+--- a/runtime/device/rocm/rocprogram.cpp
++++ b/runtime/device/rocm/rocprogram.cpp
+@@ -11,7 +11,7 @@
+ #include <gelf.h>
+ #include "libraries.amdgcn.inc"
+ #ifndef USE_COMGR_LIBRARY
+-#include "driver/AmdCompiler.h"
++#include "AmdCompiler.h"
+ #endif
+ #endif  // defined(WITH_LIGHTNING_COMPILER) || defined(USE_COMGR_LIBRARY)
+ 
+diff --git a/runtime/platform/object.hpp b/runtime/platform/object.hpp
+index 8ab1b68..b33a9e3 100644
+--- a/runtime/platform/object.hpp
++++ b/runtime/platform/object.hpp
+@@ -9,7 +9,7 @@
+ #include "os/alloc.hpp"
+ #include "thread/monitor.hpp"
+ #include "utils/util.hpp"
+-#include <icd/icd_dispatch.h>
++#include <icd/loader/icd_dispatch.h>
+ 
+ 
+ #define KHR_CL_TYPES_DO(F)                                                                         \
+diff --git a/tools/clinfo/CMakeLists.txt b/tools/clinfo/CMakeLists.txt
+deleted file mode 100644
+index 974a46f..0000000
+--- a/tools/clinfo/CMakeLists.txt
++++ /dev/null
+@@ -1,13 +0,0 @@
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+-
+-set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+-
+-include_directories(${OPENCL_INCLUDE_DIRS})
+-
+-add_definitions(-DHAVE_CL2_HPP)
+-
+-add_executable(clinfo clinfo.cpp)
+-
+-target_link_libraries(clinfo OpenCL)
+-
+-install(TARGETS clinfo DESTINATION bin)
+diff --git a/tools/clinfo/clinfo.cpp b/tools/clinfo/clinfo.cpp
+deleted file mode 100644
+index c5afb7f..0000000
+--- a/tools/clinfo/clinfo.cpp
++++ /dev/null
+@@ -1,832 +0,0 @@
+-/* ============================================================
+-
+-Copyright (c) 2010 Advanced Micro Devices, Inc.  All rights reserved.
+-
+-Redistribution and use of this material is permitted under the following
+-conditions:
+-
+-Redistributions must retain the above copyright notice and all terms of this
+-license.
+-
+-In no event shall anyone redistributing or accessing or using this material
+-commence or participate in any arbitration or legal action relating to this
+-material against Advanced Micro Devices, Inc. or any copyright holders or
+-contributors. The foregoing shall survive any expiration or termination of
+-this license or any agreement or access or use related to this material.
+-
+-ANY BREACH OF ANY TERM OF THIS LICENSE SHALL RESULT IN THE IMMEDIATE REVOCATION
+-OF ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL.
+-
+-THIS MATERIAL IS PROVIDED BY ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT
+-HOLDERS AND CONTRIBUTORS "AS IS" IN ITS CURRENT CONDITION AND WITHOUT ANY
+-REPRESENTATIONS, GUARANTEE, OR WARRANTY OF ANY KIND OR IN ANY WAY RELATED TO
+-SUPPORT, INDEMNITY, ERROR FREE OR UNINTERRUPTED OPERA TION, OR THAT IT IS FREE
+-FROM DEFECTS OR VIRUSES.  ALL OBLIGATIONS ARE HEREBY DISCLAIMED - WHETHER
+-EXPRESS, IMPLIED, OR STATUTORY - INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
+-WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
+-ACCURACY, COMPLETENESS, OPERABILITY, QUALITY OF SERVICE, OR NON-INFRINGEMENT.
+-IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR
+-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE,
+-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+-OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, REVENUE, DATA, OR PROFITS; OR
+-BUSINESS INTERRUPTION) HOWEVER CAUSED OR BASED ON ANY THEORY OF LIABILITY
+-ARISING IN ANY WAY RELATED TO THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY
+-OF SUCH DAMAGE. THE ENTIRE AND AGGREGATE LIABILITY OF ADVANCED MICRO DEVICES,
+-INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT EXCEED TEN DOLLARS
+-(US $10.00). ANYONE REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL ACCEPTS
+-THIS ALLOCATION OF RISK AND AGREES TO RELEASE ADVANCED MICRO DEVICES, INC. AND
+-ANY COPYRIGHT HOLDERS AND CONTRIBUTORS FROM ANY AND ALL LIABILITIES,
+-OBLIGATIONS, CLAIMS, OR DEMANDS IN EXCESS OF TEN DOLLARS (US $10.00). THE
+-FOREGOING ARE ESSENTIAL TERMS OF THIS LICENSE AND, IF ANY OF THESE TERMS ARE
+-CONSTRUED AS UNENFORCEABLE, FAIL IN ESSENTIAL PURPOSE, OR BECOME VOID OR
+-DETRIMENTAL TO ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR
+-CONTRIBUTORS FOR ANY REASON, THEN ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE
+-THIS MATERIAL SHALL TERMINATE IMMEDIATELY. MOREOVER, THE FOREGOING SHALL
+-SURVIVE ANY EXPIRATION OR TERMINATION OF THIS LICENSE OR ANY AGREEMENT OR
+-ACCESS OR USE RELATED TO THIS MATERIAL.
+-
+-NOTICE IS HEREBY PROVIDED, AND BY REDISTRIBUTING OR ACCESSING OR USING THIS
+-MATERIAL SUCH NOTICE IS ACKNOWLEDGED, THAT THIS MATERIAL MAY BE SUBJECT TO
+-RESTRICTIONS UNDER THE LAWS AND REGULATIONS OF THE UNITED STATES OR OTHER
+-COUNTRIES, WHICH INCLUDE BUT ARE NOT LIMITED TO, U.S. EXPORT CONTROL LAWS SUCH
+-AS THE EXPORT ADMINISTRATION REGULATIONS AND NATIONAL SECURITY CONTROLS AS
+-DEFINED THEREUNDER, AS WELL AS STATE DEPARTMENT CONTROLS UNDER THE U.S.
+-MUNITIONS LIST. THIS MATERIAL MAY NOT BE USED, RELEASED, TRANSFERRED, IMPORTED,
+-EXPORTED AND/OR RE-EXPORTED IN ANY MANNER PROHIBITED UNDER ANY APPLICABLE LAWS,
+-INCLUDING U.S. EXPORT CONTROL LAWS REGARDING SPECIFICALLY DESIGNATED PERSONS,
+-COUNTRIES AND NATIONALS OF COUNTRIES SUBJECT TO NATIONAL SECURITY CONTROLS.
+-MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF ANY
+-LICENSE OR AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
+-
+-NOTICE REGARDING THE U.S. GOVERNMENT AND DOD AGENCIES: This material is
+-provided with "RESTRICTED RIGHTS" and/or "LIMITED RIGHTS" as applicable to
+-computer software and technical data, respectively. Use, duplication,
+-distribution or disclosure by the U.S. Government and/or DOD agencies is
+-subject to the full extent of restrictions in all applicable regulations,
+-including those found at FAR52.227 and DFARS252.227 et seq. and any successor
+-regulations thereof. Use of this material by the U.S. Government and/or DOD
+-agencies is acknowledgment of the proprietary rights of any copyright holders
+-and contributors, including those of Advanced Micro Devices, Inc., as well as
+-the provisions of FAR52.227-14 through 23 regarding privately developed and/or
+-commercial computer software.
+-
+-This license forms the entire agreement regarding the subject matter hereof and
+-supersedes all proposals and prior discussions and writings between the parties
+-with respect thereto. This license does not affect any ownership, rights, title,
+-or interest in, or relating to, this material. No terms of this license can be
+-modified or waived, and no breach of this license can be excused, unless done
+-so in a writing signed by all affected parties. Each term of this license is
+-separately enforceable. If any term of this license is determined to be or
+-becomes unenforceable or illegal, such term shall be reformed to the minimum
+-extent necessary in order for this license to remain in effect in accordance
+-with its terms as modified by such reformation. This license shall be governed
+-by and construed in accordance with the laws of the State of Texas without
+-regard to rules on conflicts of law of any state or jurisdiction or the United
+-Nations Convention on the International Sale of Goods. All disputes arising out
+-of this license shall be subject to the jurisdiction of the federal and state
+-courts in Austin, Texas, and all defenses are hereby waived concerning personal
+-jurisdiction and venue of these courts.
+-
+-============================================================ */
+-
+-#include <iostream>
+-#include <map>
+-#include <set>
+-#include <algorithm>
+-#include <string>
+-#include <cstdlib>
+-#include <cstdio>
+-#if !defined(_WIN32)
+-#include <errno.h>
+-#endif
+-
+-#ifdef _MSC_VER
+-#pragma warning(disable: 4290)
+-#endif
+-
+-#if defined(HAVE_CL2_HPP)
+-#define CL_HPP_ENABLE_EXCEPTIONS
+-#define CL_HPP_MINIMUM_OPENCL_VERSION 120
+-#define CL_HPP_TARGET_OPENCL_VERSION 200
+-#define CL_HPP_ENABLE_PROGRAM_CONSTRUCTION_FROM_ARRAY_COMPATIBILITY
+-#include "CL/cl2.hpp"
+-#else // !HAVE_CL2_HPP
+-#define __CL_ENABLE_EXCEPTIONS
+-#define __MAX_DEFAULT_VECTOR_SIZE 50
+-#define CL_USE_DEPRECATED_OPENCL_1_1_APIS
+-#define CL_USE_DEPRECATED_OPENCL_2_0_APIS
+-#include "cl.hpp"
+-#endif // !HAVE_CL2_HPP
+-
+-bool verbose = false;
+-
+-/// Returns EXIT_SUCCESS on success, EXIT_FAILURE on failure.
+-int
+-main(int argc, char** argv)
+-{
+-    /* Error flag */
+-    cl_int err;
+-
+-    //parse input
+-    for(int i = 1; i < argc; i++){
+-        if ((strcmp(argv[i], "-v") == 0) ||
+-            (strcmp(argv[i], "--verbose") == 0)){
+-                verbose = true;
+-        } else if ((strcmp(argv[i], "-h") == 0) ||
+-                   (strcmp(argv[i], "--help") == 0)){
+-            std::cout << "Usage is: " << argv[0] << " [-v|--verbose]" << std::endl;
+-            return EXIT_FAILURE;
+-        }
+-    }
+-
+-    // Platform info
+-    std::vector<cl::Platform> platforms;
+-
+-    try {
+-    err = cl::Platform::get(&platforms);
+-
+-    // Iteratate over platforms
+-    std::cout << "Number of platforms:\t\t\t\t "
+-              << platforms.size()
+-              << std::endl;
+-    for (std::vector<cl::Platform>::iterator i = platforms.begin();
+-         i != platforms.end();
+-         ++i) {
+-        const cl::Platform& platform = *i;
+-
+-        std::cout << "  Platform Profile:\t\t\t\t "
+-                  << platform.getInfo<CL_PLATFORM_PROFILE>().c_str()
+-                  << std::endl;
+-        std::cout << "  Platform Version:\t\t\t\t "
+-                  << platform.getInfo<CL_PLATFORM_VERSION>().c_str()
+-                  << std::endl;
+-        std::cout << "  Platform Name:\t\t\t\t "
+-                  << platform.getInfo<CL_PLATFORM_NAME>().c_str()
+-                  << std::endl;
+-        std::cout << "  Platform Vendor:\t\t\t\t "
+-                  << platform.getInfo<CL_PLATFORM_VENDOR>().c_str() << std::endl;
+-        if (platform.getInfo<CL_PLATFORM_EXTENSIONS>().size() > 0) {
+-            std::cout << "  Platform Extensions:\t\t\t\t "
+-                      << platform.getInfo<CL_PLATFORM_EXTENSIONS>().c_str()
+-                      << std::endl;
+-        }
+-    }
+-
+-    std::cout << std::endl << std:: endl;
+-    // Now Iteratate over each platform and its devices
+-    for (std::vector<cl::Platform>::iterator p = platforms.begin();
+-         p != platforms.end();
+-         ++p) {
+-        const cl::Platform& platform = *p;
+-        std::cout << "  Platform Name:\t\t\t\t "
+-                  << platform.getInfo<CL_PLATFORM_NAME>().c_str()
+-                  << std::endl;
+-
+-        std::vector<cl::Device> devices;
+-        platform.getDevices(CL_DEVICE_TYPE_ALL, &devices);
+-
+-        // Get OpenCL version
+-        std::string platformVersionStr = platform.getInfo<CL_PLATFORM_VERSION>();
+-        std::string openclVerstionStr(platformVersionStr.c_str());
+-        size_t vStart = openclVerstionStr.find(" ", 0);
+-        size_t vEnd = openclVerstionStr.find(" ", vStart + 1);
+-        std::string vStrVal = openclVerstionStr.substr(vStart + 1, vEnd - vStart - 1);
+-
+-        std::cout << "Number of devices:\t\t\t\t " << devices.size() << std::endl;
+-        for (std::vector<cl::Device>::iterator i = devices.begin();
+-             i != devices.end();
+-             ++i) {
+-            const cl::Device& device = *i;
+-            /* Get device name */
+-            std::string deviceName = device.getInfo<CL_DEVICE_NAME>();
+-            cl_device_type dtype = device.getInfo<CL_DEVICE_TYPE>();
+-
+-            /* Get CAL driver version in int */
+-            std::string driverVersion = device.getInfo<CL_DRIVER_VERSION>();
+-            std::string calVersion(driverVersion.c_str());
+-            calVersion = calVersion.substr(calVersion.find_last_of(".") + 1);
+-            int version = atoi(calVersion.c_str());
+-
+-            std::cout << "  Device Type:\t\t\t\t\t " ;
+-            switch (dtype) {
+-            case CL_DEVICE_TYPE_ACCELERATOR:
+-                std::cout << "CL_DEVICE_TYPE_ACCRLERATOR" << std::endl;
+-                break;
+-            case CL_DEVICE_TYPE_CPU:
+-                std::cout << "CL_DEVICE_TYPE_CPU" << std::endl;
+-                break;
+-            case CL_DEVICE_TYPE_DEFAULT:
+-                std::cout << "CL_DEVICE_TYPE_DEFAULT" << std::endl;
+-                break;
+-            case CL_DEVICE_TYPE_GPU:
+-                std::cout << "CL_DEVICE_TYPE_GPU" << std::endl;
+-                break;
+-            }
+-
+-            std::cout << "  Vendor ID:\t\t\t\t\t "
+-                      << std::hex
+-                      << device.getInfo<CL_DEVICE_VENDOR_ID>()
+-                      << "h"
+-                      << std::dec
+-                      << std::endl;
+-
+-             bool isAMDPlatform = (strcmp(platform.getInfo<CL_PLATFORM_NAME>().c_str(), "AMD Accelerated Parallel Processing") == 0) ? true : false;
+-             if (isAMDPlatform)
+-             {
+-                std::string boardName;
+-                device.getInfo(CL_DEVICE_BOARD_NAME_AMD, &boardName);
+-                std::cout << "  Board name:\t\t\t\t\t "
+-                    << boardName.c_str()
+-                    << std::endl;
+-
+-                cl_device_topology_amd topology;
+-                err = device.getInfo(CL_DEVICE_TOPOLOGY_AMD, &topology);
+-                if (topology.raw.type == CL_DEVICE_TOPOLOGY_TYPE_PCIE_AMD) {
+-                    std::cout << "  Device Topology:\t\t\t\t "
+-                          << "PCI[ B#" << (int)topology.pcie.bus
+-                          << ", D#" << (int)topology.pcie.device
+-                          << ", F#" << (int)topology.pcie.function
+-                          << " ]" << std::endl;
+-                }
+-             }
+-
+-            std::cout << "  Max compute units:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_COMPUTE_UNITS>()
+-                      << std::endl;
+-
+-            std::cout << "  Max work items dimensions:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS>()
+-                      << std::endl;
+-
+-            std::vector< ::size_t> witems =
+-                device.getInfo<CL_DEVICE_MAX_WORK_ITEM_SIZES>();
+-            for (unsigned int x = 0;
+-                 x < device.getInfo<CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS>();
+-                 x++) {
+-                std::cout << "    Max work items["
+-                          << x << "]:\t\t\t\t "
+-                          << witems[x]
+-                          << std::endl;
+-            }
+-
+-            std::cout << "  Max work group size:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_WORK_GROUP_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Preferred vector width char:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR>()
+-                      << std::endl;
+-
+-            std::cout << "  Preferred vector width short:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT>()
+-                      << std::endl;
+-
+-            std::cout << "  Preferred vector width int:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT>()
+-                      << std::endl;
+-
+-            std::cout << "  Preferred vector width long:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG>()
+-                      << std::endl;
+-
+-            std::cout << "  Preferred vector width float:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT>()
+-                      << std::endl;
+-
+-            std::cout << "  Preferred vector width double:\t\t "
+-                      << device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE>()
+-                      << std::endl;
+-
+-#ifdef CL_VERSION_1_1
+-            if(vStrVal.compare("1.0") > 0)
+-            {
+-                std::cout << "  Native vector width char:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR>()
+-                          << std::endl;
+-
+-                std::cout << "  Native vector width short:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT>()
+-                          << std::endl;
+-
+-                std::cout << "  Native vector width int:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_NATIVE_VECTOR_WIDTH_INT>()
+-                          << std::endl;
+-
+-                std::cout << "  Native vector width long:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG>()
+-                          << std::endl;
+-
+-                std::cout << "  Native vector width float:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT>()
+-                          << std::endl;
+-
+-                std::cout << "  Native vector width double:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE>()
+-                          << std::endl;
+-            }
+-#endif // CL_VERSION_1_1
+-            std::cout << "  Max clock frequency:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_CLOCK_FREQUENCY>()
+-                      << "Mhz"
+-                      << std::endl;
+-
+-            std::cout << "  Address bits:\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_ADDRESS_BITS>()
+-                      << std::endl;
+-
+-            std::cout << "  Max memory allocation:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_MEM_ALLOC_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Image support:\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_IMAGE_SUPPORT>() ? "Yes" : "No")
+-                      << std::endl;
+-
+-            if (device.getInfo<CL_DEVICE_IMAGE_SUPPORT>())
+-            {
+-
+-                std::cout << "  Max number of images read arguments:\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_READ_IMAGE_ARGS>()
+-                          << std::endl;
+-
+-                std::cout << "  Max number of images write arguments:\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_WRITE_IMAGE_ARGS>()
+-                          << std::endl;
+-
+-                std::cout << "  Max image 2D width:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_IMAGE2D_MAX_WIDTH>()
+-                          << std::endl;
+-
+-                std::cout << "  Max image 2D height:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_IMAGE2D_MAX_HEIGHT>()
+-                          << std::endl;
+-
+-                std::cout << "  Max image 3D width:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_IMAGE3D_MAX_WIDTH>()
+-                          << std::endl;
+-
+-                std::cout << "  Max image 3D height:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_IMAGE3D_MAX_HEIGHT>()
+-                          << std::endl;
+-
+-                std::cout << "  Max image 3D depth:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_IMAGE3D_MAX_DEPTH>()
+-                          << std::endl;
+-
+-                std::cout << "  Max samplers within kernel:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_SAMPLERS>()
+-                          << std::endl;
+-
+-                if (verbose)
+-                {
+-                    std::cout << "  Image formats supported:" << std::endl;
+-                    std::vector<cl::ImageFormat> formats;
+-
+-                    cl_context_properties cps[3] = { CL_CONTEXT_PLATFORM, (cl_context_properties)(*p)(), 0 };
+-                    std::vector<cl::Device> device;
+-                    device.push_back(*i);
+-                    cl::Context context(device, cps, NULL, NULL, &err);
+-
+-                    std::map<int,std::string> channelOrder;
+-                    channelOrder[CL_R] = "CL_R";
+-                    channelOrder[CL_A] = "CL_A";
+-                    channelOrder[CL_RG] = "CL_RG";
+-                    channelOrder[CL_RA] = "CL_RA";
+-                    channelOrder[CL_RGB] = "CL_RGB";
+-                    channelOrder[CL_RGBA] = "CL_RGBA";
+-                    channelOrder[CL_BGRA] = "CL_BGRA";
+-                    channelOrder[CL_ARGB] = "CL_ARGB";
+-                    channelOrder[CL_INTENSITY] = "CL_INTENSITY";
+-                    channelOrder[CL_LUMINANCE] = "CL_LUMINANCE";
+-                    channelOrder[CL_Rx] = "CL_Rx";
+-                    channelOrder[CL_RGx] = "CL_RGx";
+-                    channelOrder[CL_RGBx] = "CL_RGBx";
+-
+-                    std::map<int,std::pair<std::string, std::string> > channelType;
+-                    channelType[CL_SNORM_INT8] = std::make_pair("snorm", "int8");
+-                    channelType[CL_SNORM_INT16] = std::make_pair("snorm", "int16");
+-                    channelType[CL_UNORM_INT8] = std::make_pair("unorm", "int8");
+-                    channelType[CL_UNORM_INT16] = std::make_pair("unorm", "int16");
+-                    channelType[CL_UNORM_SHORT_565] = std::make_pair("unorm", "short_565");
+-                    channelType[CL_UNORM_SHORT_555] = std::make_pair("unorm", "short_555");
+-                    channelType[CL_UNORM_INT_101010] = std::make_pair("unorm", "int_101010");
+-                    channelType[CL_SIGNED_INT8] =  std::make_pair("signed", "int8");
+-                    channelType[CL_SIGNED_INT16] = std::make_pair("signed", "int16");
+-                    channelType[CL_SIGNED_INT32] = std::make_pair("signed", "int32");
+-                    channelType[CL_UNSIGNED_INT8] = std::make_pair("unsigned", "int8");
+-                    channelType[CL_UNSIGNED_INT16] = std::make_pair("unsigned", "int16");
+-                    channelType[CL_UNSIGNED_INT32] = std::make_pair("unsigned", "int32");
+-                    channelType[CL_HALF_FLOAT] = std::make_pair("half_float", "");
+-                    channelType[CL_FLOAT] = std::make_pair("float", "");
+-
+-                    std::vector<std::pair<int, std::string> > imageDimensions;
+-                    imageDimensions.push_back(std::make_pair(CL_MEM_OBJECT_IMAGE2D, std::string("2D ")));
+-                    imageDimensions.push_back(std::make_pair(CL_MEM_OBJECT_IMAGE3D, std::string("3D ")));
+-                    for(std::vector<std::pair<int, std::string> >::iterator id = imageDimensions.begin();
+-                        id != imageDimensions.end();
+-                        id++){
+-
+-                        struct imageAccessStruct {
+-                            std::string  name;
+-                            int          access;
+-                            std::vector<cl::ImageFormat> formats;
+-                        } imageAccess[] = {{std::string("Read-Write/Read-Only/Write-Only"), CL_MEM_READ_WRITE, std::vector<cl::ImageFormat>()},
+-                                            {std::string("Read-Only"),  CL_MEM_READ_ONLY,  std::vector<cl::ImageFormat>()},
+-                                            {std::string("Write-Only"), CL_MEM_WRITE_ONLY, std::vector<cl::ImageFormat>()}};
+-
+-                        for(size_t ia=0; ia < sizeof(imageAccess)/sizeof(imageAccessStruct); ia++){
+-                            context.getSupportedImageFormats(imageAccess[ia].access, (*id).first, &(imageAccess[ia].formats));
+-                            bool printTopHeader = true;
+-                            for (std::map<int,std::string>::iterator o = channelOrder.begin();
+-                                 o != channelOrder.end();
+-                                 o++)
+-                            {
+-                                bool printHeader = true;
+-
+-                                for (std::vector<cl::ImageFormat>::iterator it = imageAccess[ia].formats.begin();
+-                                     it != imageAccess[ia].formats.end();
+-                                     ++it)
+-                                {
+-                                    if ( (*o).first == (int)(*it).image_channel_order)
+-                                    {
+-                                        bool printedAlready = false;
+-                                        //see if this was already print in RW/RO/WO
+-                                        if (ia !=0)
+-                                        {
+-                                            for (std::vector<cl::ImageFormat>::iterator searchIt = imageAccess[0].formats.begin();
+-                                                searchIt != imageAccess[0].formats.end();
+-                                                searchIt++)
+-                                            {
+-                                                if ( ((*searchIt).image_channel_data_type == (*it).image_channel_data_type) &&
+-                                                     ((*searchIt).image_channel_order == (*it).image_channel_order))
+-                                                {
+-                                                    printedAlready = true;
+-                                                    break;
+-                                                }
+-                                            }
+-                                        }
+-                                        if (printedAlready)
+-                                        {
+-                                            continue;
+-                                        }
+-                                        if (printTopHeader)
+-                                        {
+-                                            std::cout << "   " << (*id).second << imageAccess[ia].name << std::endl;
+-                                            printTopHeader = false;
+-                                        }
+-                                        if (printHeader)
+-                                        {
+-                                            std::cout << "    " << (*o).second << ": ";
+-                                            printHeader = false;
+-                                        }
+-                                        std::cout << channelType[(*it).image_channel_data_type].first;
+-                                        if (channelType[(*it).image_channel_data_type].second != "")
+-                                        {
+-                                            std::cout << "-"
+-                                                      << channelType[(*it).image_channel_data_type].second;
+-                                        }
+-                                        if (it != (imageAccess[ia].formats.end() - 1))
+-                                        {
+-                                            std::cout << " ";
+-                                        }
+-                                    }
+-                                }
+-                                if (printHeader == false)
+-                                {
+-                                    std::cout << std::endl;
+-                                }
+-                            }
+-                        }
+-                    }
+-                }
+-            }
+-
+-            std::cout << "  Max size of kernel argument:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_PARAMETER_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Alignment (bits) of base address:\t\t "
+-                      << device.getInfo<CL_DEVICE_MEM_BASE_ADDR_ALIGN>()
+-                      << std::endl;
+-
+-            std::cout << "  Minimum alignment (bytes) for any datatype:\t "
+-                      << device.getInfo<CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Single precision floating point capability" << std::endl;
+-            std::cout << "    Denorms:\t\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_SINGLE_FP_CONFIG>() &
+-                          CL_FP_DENORM ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    Quiet NaNs:\t\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_SINGLE_FP_CONFIG>() &
+-                          CL_FP_INF_NAN ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    Round to nearest even:\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_SINGLE_FP_CONFIG>() &
+-                          CL_FP_ROUND_TO_NEAREST ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    Round to zero:\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_SINGLE_FP_CONFIG>() &
+-                          CL_FP_ROUND_TO_ZERO ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    Round to +ve and infinity:\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_SINGLE_FP_CONFIG>() &
+-                          CL_FP_ROUND_TO_INF ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    IEEE754-2008 fused multiply-add:\t\t "
+-                      << (device.getInfo<CL_DEVICE_SINGLE_FP_CONFIG>() &
+-                          CL_FP_FMA ? "Yes" : "No")
+-                      << std::endl;
+-
+-            std::cout << "  Cache type:\t\t\t\t\t " ;
+-            switch (device.getInfo<CL_DEVICE_GLOBAL_MEM_CACHE_TYPE>()) {
+-            case CL_NONE:
+-                std::cout << "None" << std::endl;
+-                break;
+-            case CL_READ_ONLY_CACHE:
+-                std::cout << "Read only" << std::endl;
+-                break;
+-            case CL_READ_WRITE_CACHE:
+-                std::cout << "Read/Write" << std::endl;
+-                break;
+-            }
+-
+-            std::cout << "  Cache line size:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Cache size:\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_GLOBAL_MEM_CACHE_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Global memory size:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_GLOBAL_MEM_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Constant buffer size:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE>()
+-                      << std::endl;
+-
+-            std::cout << "  Max number of constant args:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_MAX_CONSTANT_ARGS>()
+-                      << std::endl;
+-
+-            std::cout << "  Local memory type:\t\t\t\t " ;
+-            switch (device.getInfo<CL_DEVICE_LOCAL_MEM_TYPE>()) {
+-            case CL_LOCAL:
+-                std::cout << "Scratchpad" << std::endl;
+-                break;
+-            case CL_GLOBAL:
+-                std::cout << "Global" << std::endl;
+-                break;
+-            }
+-
+-
+-            std::cout << "  Local memory size:\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_LOCAL_MEM_SIZE>()
+-                      << std::endl;
+-
+-#if defined(CL_VERSION_2_0)
+-            if(vStrVal.compare("2") > 0)
+-            {
+-                std::cout << "  Max pipe arguments:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_PIPE_ARGS>()
+-                          << std::endl;
+-
+-                std::cout << "  Max pipe active reservations:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS>()
+-                          << std::endl;
+-
+-                std::cout << "  Max pipe packet size:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_PIPE_MAX_PACKET_SIZE>()
+-                          << std::endl;
+-
+-                std::cout << "  Max global variable size:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE>()
+-                          << std::endl;
+-
+-                std::cout << "  Max global variable preferred total size:\t "
+-                          << device.getInfo<CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE>()
+-                          << std::endl;
+-
+-                std::cout << "  Max read/write image args:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS>()
+-                          << std::endl;
+-
+-                std::cout << "  Max on device events:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_ON_DEVICE_EVENTS>()
+-                          << std::endl;
+-
+-                std::cout << "  Queue on device max size:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE>()
+-                          << std::endl;
+-
+-                std::cout << "  Max on device queues:\t\t\t\t "
+-                          << device.getInfo<CL_DEVICE_MAX_ON_DEVICE_QUEUES>()
+-                          << std::endl;
+-
+-                std::cout << "  Queue on device preferred size:\t\t "
+-                          << device.getInfo<CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE>()
+-                          << std::endl;
+-
+-                std::cout << "  SVM capabilities:\t\t\t\t " << std::endl;
+-                std::cout << "    Coarse grain buffer:\t\t\t "
+-                          << (device.getInfo<CL_DEVICE_SVM_CAPABILITIES>() &
+-                              CL_DEVICE_SVM_COARSE_GRAIN_BUFFER ? "Yes" : "No")
+-                          << std::endl;
+-                std::cout << "    Fine grain buffer:\t\t\t\t "
+-                          << (device.getInfo<CL_DEVICE_SVM_CAPABILITIES>() &
+-                              CL_DEVICE_SVM_FINE_GRAIN_BUFFER ? "Yes" : "No")
+-                          << std::endl;
+-                std::cout << "    Fine grain system:\t\t\t\t "
+-                          << (device.getInfo<CL_DEVICE_SVM_CAPABILITIES>() &
+-                              CL_DEVICE_SVM_FINE_GRAIN_SYSTEM ? "Yes" : "No")
+-                          << std::endl;
+-                std::cout << "    Atomics:\t\t\t\t\t "
+-                          << (device.getInfo<CL_DEVICE_SVM_CAPABILITIES>() &
+-                              CL_DEVICE_SVM_ATOMICS ? "Yes" : "No")
+-                          << std::endl;
+-
+-                std::cout << "  Preferred platform atomic alignment:\t\t "
+-                          << device.getInfo<CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT>()
+-                          << std::endl;
+-
+-                std::cout << "  Preferred global atomic alignment:\t\t "
+-                          << device.getInfo<CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT>()
+-                          << std::endl;
+-
+-                std::cout << "  Preferred local atomic alignment:\t\t "
+-                          << device.getInfo<CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT>()
+-                          << std::endl;
+-            }
+-#endif // CL_VERSION_2_0
+-
+-#if defined(CL_VERSION_1_1) && !defined(ATI_ARCH_ARM)
+-            if(vStrVal.compare("1.0") > 0)
+-            {
+-                cl_context_properties cps[3] = { CL_CONTEXT_PLATFORM, (cl_context_properties)(*p)(), 0 };
+-
+-                std::vector<cl::Device> device;
+-                device.push_back(*i);
+-
+-                cl::Context context(device, cps, NULL, NULL, &err);
+-                if (err != CL_SUCCESS) {
+-                    std::cerr << "Context::Context() failed (" << err << ")\n";
+-                    return EXIT_FAILURE;
+-                }
+-                std::string kernelStr("__kernel void hello(){ size_t i =  get_global_id(0); size_t j =  get_global_id(1);}");
+-                cl::Program::Sources sources(1, std::make_pair(kernelStr.data(), kernelStr.size()));
+-
+-                cl::Program program = cl::Program(context, sources, &err);
+-                if (err != CL_SUCCESS) {
+-                    std::cerr << "Program::Program() failed (" << err << ")\n";
+-                    return EXIT_FAILURE;
+-                }
+-
+-                err = program.build(device);
+-                if (err != CL_SUCCESS) {
+-
+-                    if(err == CL_BUILD_PROGRAM_FAILURE)
+-                    {
+-                        std::string str = program.getBuildInfo<CL_PROGRAM_BUILD_LOG>((*i));
+-
+-                        std::cout << " \n\t\t\tBUILD LOG\n";
+-                        std::cout << " ************************************************\n";
+-                        std::cout << str.c_str() << std::endl;
+-                        std::cout << " ************************************************\n";
+-                    }
+-
+-                    std::cerr << "Program::build() failed (" << err << ")\n";
+-                    return EXIT_FAILURE;
+-                }
+-
+-                cl::Kernel kernel(program, "hello", &err);
+-                if (err != CL_SUCCESS) {
+-                    std::cerr << "Kernel::Kernel() failed (" << err << ")\n";
+-                    return EXIT_FAILURE;
+-                }
+-
+-                std::cout << "  Kernel Preferred work group size multiple:\t "
+-                          << kernel.getWorkGroupInfo<CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE>((*i), &err)
+-                          << std::endl;
+-            }
+-
+-#endif // CL_VERSION_1_1
+-
+-            std::cout << "  Error correction support:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_ERROR_CORRECTION_SUPPORT>()
+-                      << std::endl;
+-#ifdef CL_VERSION_1_1
+-            if(vStrVal.compare("1.0") > 0)
+-            {
+-                std::cout << "  Unified memory for Host and Device:\t\t "
+-                          << device.getInfo<CL_DEVICE_HOST_UNIFIED_MEMORY>()
+-                          << std::endl;
+-            }
+-#endif // CL_VERSION_1_1
+-            std::cout << "  Profiling timer resolution:\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PROFILING_TIMER_RESOLUTION>()
+-                      << std::endl;
+-
+-            std::cout << "  Device endianess:\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_ENDIAN_LITTLE>() ? "Little" : "Big")
+-                      << std::endl;
+-
+-            std::cout << "  Available:\t\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_AVAILABLE>() ? "Yes" : "No")
+-                      << std::endl;
+-
+-            std::cout << "  Compiler available:\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_COMPILER_AVAILABLE>() ? "Yes" : "No")
+-                      << std::endl;
+-
+-            std::cout << "  Execution capabilities:\t\t\t\t " << std::endl;
+-            std::cout << "    Execute OpenCL kernels:\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_EXECUTION_CAPABILITIES>() &
+-                          CL_EXEC_KERNEL ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    Execute native function:\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_EXECUTION_CAPABILITIES>() &
+-                          CL_EXEC_NATIVE_KERNEL ? "Yes" : "No")
+-                      << std::endl;
+-
+-            std::cout << "  Queue on Host properties:\t\t\t\t " << std::endl;
+-            std::cout << "    Out-of-Order:\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_QUEUE_ON_HOST_PROPERTIES>() &
+-                          CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE ? "Yes" : "No")
+-                      << std::endl;
+-            std::cout << "    Profiling :\t\t\t\t\t "
+-                      << (device.getInfo<CL_DEVICE_QUEUE_ON_HOST_PROPERTIES>() &
+-                          CL_QUEUE_PROFILING_ENABLE ? "Yes" : "No")
+-                      << std::endl;
+-
+-#ifdef CL_VERSION_2_0
+-            if(vStrVal.compare("2") > 0)
+-            {
+-                std::cout << "  Queue on Device properties:\t\t\t\t " << std::endl;
+-                std::cout << "    Out-of-Order:\t\t\t\t "
+-                          << (device.getInfo<CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES>() &
+-                              CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE ? "Yes" : "No")
+-                          << std::endl;
+-                std::cout << "    Profiling :\t\t\t\t\t "
+-                          << (device.getInfo<CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES>() &
+-                              CL_QUEUE_PROFILING_ENABLE ? "Yes" : "No")
+-                          << std::endl;
+-            }
+-#endif
+-
+-            std::cout << "  Platform ID:\t\t\t\t\t "
+-                  << device.getInfo<CL_DEVICE_PLATFORM>()
+-                      << std::endl;
+-
+-            std::cout << "  Name:\t\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_NAME>().c_str()
+-                      << std::endl;
+-
+-            std::cout << "  Vendor:\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_VENDOR>().c_str()
+-                      << std::endl;
+-#ifdef CL_VERSION_1_1
+-            if(vStrVal.compare("1.0") > 0)
+-            {
+-                std::cout << "  Device OpenCL C version:\t\t\t "
+-                          << device.getInfo<CL_DEVICE_OPENCL_C_VERSION>().c_str()
+-                          << std::endl;
+-            }
+-#endif // CL_VERSION_1_1
+-            std::cout << "  Driver version:\t\t\t\t "
+-                      << device.getInfo<CL_DRIVER_VERSION>().c_str()
+-                      << std::endl;
+-
+-            std::cout << "  Profile:\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_PROFILE>().c_str()
+-                      << std::endl;
+-
+-            std::cout << "  Version:\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_VERSION>().c_str()
+-                      << std::endl;
+-
+-
+-            std::cout << "  Extensions:\t\t\t\t\t "
+-                      << device.getInfo<CL_DEVICE_EXTENSIONS>().c_str()
+-                      << std::endl;
+-
+-            std::cout << std::endl << std::endl;
+-        }
+-    }
+-    }
+-    catch (cl::Error err)
+-    {
+-        std::cerr
+-            << "ERROR: "
+-            << err.what()
+-            << "("
+-            << err.err()
+-            << ")"
+-            << std::endl;
+-        return EXIT_FAILURE;
+-    }
+-
+-    return EXIT_SUCCESS;
+-}

diff --git a/dev-libs/rocm-opencl-runtime/metadata.xml b/dev-libs/rocm-opencl-runtime/metadata.xml
new file mode 100644
index 00000000000..359755b2e5a
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+    <maintainer type="person">
+        <email>candrews@gentoo.org</email>
+        <name>Craig Andrews</name>
+    </maintainer>
+    <upstream>
+        <remote-id type="github">RadeonOpenCompute/ROCm-OpenCL-Runtime</remote-id>
+    </upstream>
+    <longdescription lang="en">
+        Radeon Open Compute OpenCL Compatible Runtime
+    </longdescription>
+</pkgmetadata>

diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-2.6.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-2.6.0.ebuild
new file mode 100644
index 00000000000..cd44ed80e4d
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-2.6.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+OPENCL_ICD_COMMIT="bc9728edf8cace79cf33bf75560be88fc2432dc4"
+SRC_URI="https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/${OPENCL_ICD_COMMIT}.tar.gz -> OpenCL-ICD-Loader-${OPENCL_ICD_COMMIT}.tar.gz"
+if [[ ${PV} == *9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/"
+	inherit git-r3
+else
+	SRC_URI+=" https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+	S="${WORKDIR}/ROCm-OpenCL-Runtime-roc-${PV}"
+fi
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="dev-libs/rocr-runtime
+	dev-libs/rocm-comgr
+	dev-libs/rocm-device-libs
+	dev-libs/rocm-opencl-driver"
+DEPEND="${RDEPEND}
+	dev-lang/ocaml
+	dev-ml/findlib"
+
+PATCHES=(
+	"${FILESDIR}/${P}-unbundle-dependencies.patch"
+)
+
+src_prepare() {
+	mkdir -p "${S}"/api/opencl/khronos/ || die
+	mv "${WORKDIR}/OpenCL-ICD-Loader-${OPENCL_ICD_COMMIT}" "${S}"/api/opencl/khronos/icd || die
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/"
+		-DClang_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/clang/"
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/"
+	)
+	cmake-utils_src_configure
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-02-20  4:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-06 19:04 [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-opencl-runtime/files/, dev-libs/rocm-opencl-runtime/ Craig Andrews
  -- strict thread matches above, loose matches on Subject: below --
2023-02-20  4:33 Sam James
2023-02-01  9:53 Andreas Sturmlechner
2022-12-19 14:00 Andreas Sturmlechner
2022-09-28  8:16 Andrew Ammerlaan
2022-07-03 10:47 罗百科
2022-02-11 16:12 Joonas Niilola
2020-11-14 21:02 Craig Andrews
2020-06-09 14:40 Craig Andrews
2019-09-30 15:23 Craig Andrews
2019-08-14  0:27 Craig Andrews

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox