diff --git a/MAINTAINERS.md b/MAINTAINERS.md --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -3,3 +3,6 @@ - Jacek Jagosz - IRC: JacekJagosz - Email: jacek.jagosz@outlook.com +- Gavin Zhao + - Email: me@gzgz.dev + - Matrix: @gzgavinzhao:matrix.org diff --git a/abi_libs b/abi_libs --- a/abi_libs +++ b/abi_libs @@ -1,2 +1,2 @@ libamdocl64.so -libcltrace.so.5.1 +libcltrace.so diff --git a/abi_symbols b/abi_symbols --- a/abi_symbols +++ b/abi_symbols @@ -117,5 +117,5 @@ libamdocl64.so:clUnloadCompiler libamdocl64.so:clUnloadPlatformCompiler libamdocl64.so:clWaitForEvents -libcltrace.so.5.1:vdiAgent_OnLoad -libcltrace.so.5.1:vdiAgent_OnUnload +libcltrace.so:vdiAgent_OnLoad +libcltrace.so:vdiAgent_OnUnload diff --git a/abi_used_symbols b/abi_used_symbols --- a/abi_used_symbols +++ b/abi_used_symbols @@ -134,6 +134,7 @@ libhsa-runtime64.so.1:hsa_amd_ipc_memory_detach libhsa-runtime64.so.1:hsa_amd_memory_async_copy libhsa-runtime64.so.1:hsa_amd_memory_async_copy_rect +libhsa-runtime64.so.1:hsa_amd_memory_fill libhsa-runtime64.so.1:hsa_amd_memory_lock_to_pool libhsa-runtime64.so.1:hsa_amd_memory_pool_allocate libhsa-runtime64.so.1:hsa_amd_memory_pool_free @@ -197,10 +198,12 @@ libhsa-runtime64.so.1:hsa_system_get_major_extension_table libm.so.6:pow libnuma.so.1:get_mempolicy +libnuma.so.1:numa_allocate_cpumask +libnuma.so.1:numa_available libnuma.so.1:numa_bitmask_alloc libnuma.so.1:numa_bitmask_free libnuma.so.1:numa_node_to_cpus -libnuma.so.1:numa_num_configured_cpus +libnuma.so.1:numa_num_possible_nodes libnuma.so.1:numa_sched_setaffinity libstdc++.so.6:_ZNKSt12__basic_fileIcE7is_openEv libstdc++.so.6:_ZNKSt5ctypeIcE13_M_widen_initEv @@ -244,9 +247,8 @@ libstdc++.so.6:_ZNSt11regex_errorD1Ev libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv -libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev libstdc++.so.6:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev -libstdc++.so.6:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev +libstdc++.so.6:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev libstdc++.so.6:_ZNSt13random_device7_M_finiEv libstdc++.so.6:_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE libstdc++.so.6:_ZNSt13random_device9_M_getvalEv @@ -254,7 +256,7 @@ libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev -libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode @@ -343,7 +345,6 @@ libstdc++.so.6:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE libstdc++.so.6:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE libstdc++.so.6:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE -libstdc++.so.6:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE libstdc++.so.6:_ZTVN10__cxxabiv117__class_type_infoE libstdc++.so.6:_ZTVN10__cxxabiv120__si_class_type_infoE libstdc++.so.6:_ZTVN10__cxxabiv121__vmi_class_type_infoE diff --git a/files/0001-SWDEV-321118-Use-GNUInstallDirs.patch b/files/0001-SWDEV-321118-Use-GNUInstallDirs.patch deleted file mode 100644 --- a/files/0001-SWDEV-321118-Use-GNUInstallDirs.patch +++ /dev/null @@ -1,126 +0,0 @@ -From f86726945b821939a2d4620094f4f5f0a866a564 Mon Sep 17 00:00:00 2001 -From: Jeremy Newton -Date: Mon, 31 Jan 2022 17:54:14 -0500 -Subject: [PATCH 1/3] SWDEV-321118 - Use GNUInstallDirs - -Use GNUInstallDirs variables to determine the location of BINDIR, -LIBDIR, DOCDIR, and SYSCONFDIR. - -Signed-off-by: Jeremy Newton -Change-Id: Ifb38263dce80d80c5ebb4eacd8e49c76bb013a44 ---- - CMakeLists.txt | 2 +- - packaging/CMakeLists.txt | 12 ++++++------ - packaging/rocm-ocl-icd.postinst | 4 ++-- - packaging/rocm-ocl-icd.prerm | 4 ++-- - packaging/rocm-ocl-icd.rpm_post | 4 ++-- - packaging/rocm-ocl-icd.rpm_postun | 4 ++-- - 6 files changed, 15 insertions(+), 15 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e5c4537..0612fa2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,7 +5,7 @@ if (POLICY CMP0048) - set(PROJ_VERSION VERSION 1.5.0) - endif() - --project(opencl) -+project(rocm-opencl) - - include(GNUInstallDirs) - -diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt -index 13a2185..2b6fa77 100644 ---- a/packaging/CMakeLists.txt -+++ b/packaging/CMakeLists.txt -@@ -1,13 +1,13 @@ - cmake_minimum_required(VERSION 3.5.1) --project(rocm-opencl) -+include(GNUInstallDirs) - - 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) -+install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary) -+install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) -+install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) - - install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev -@@ -17,8 +17,8 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL - PATTERN cl_dx9_media_sharing.h EXCLUDE - PATTERN cl_egl.h EXCLUDE ) - --install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) --install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd) -+install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) -+install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd) - - - # Generic CPACK variables -diff --git a/packaging/rocm-ocl-icd.postinst b/packaging/rocm-ocl-icd.postinst -index 0780970..7c46ade 100644 ---- a/packaging/rocm-ocl-icd.postinst -+++ b/packaging/rocm-ocl-icd.postinst -@@ -6,8 +6,8 @@ INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@ - ROCM_LIBPATH=@ROCM_PATH@/lib - - do_ldconfig() { -- echo ${INSTALL_PATH}/lib > /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -- mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) -+ echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -+ mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) - } - - case "$1" in -diff --git a/packaging/rocm-ocl-icd.prerm b/packaging/rocm-ocl-icd.prerm -index 9fc6c8d..e0b5417 100644 ---- a/packaging/rocm-ocl-icd.prerm -+++ b/packaging/rocm-ocl-icd.prerm -@@ -3,8 +3,8 @@ - set -e - - rm_ldconfig() { -- rm -f /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -- rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ -+ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -+ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ - } - - case "$1" in -diff --git a/packaging/rocm-ocl-icd.rpm_post b/packaging/rocm-ocl-icd.rpm_post -index 7ce5d97..49129ce 100644 ---- a/packaging/rocm-ocl-icd.rpm_post -+++ b/packaging/rocm-ocl-icd.rpm_post -@@ -1,8 +1,8 @@ - INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@ - ROCM_LIBPATH=@ROCM_PATH@/lib - --echo ${INSTALL_PATH}/lib > /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig --mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) -+echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -+mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) - - mkdir -p ${ROCM_LIBPATH} - ln -s -f -r ${INSTALL_PATH}/lib/libOpenCL.so ${ROCM_LIBPATH}/libOpenCL.so -diff --git a/packaging/rocm-ocl-icd.rpm_postun b/packaging/rocm-ocl-icd.rpm_postun -index 356c7af..44bbce3 100644 ---- a/packaging/rocm-ocl-icd.rpm_postun -+++ b/packaging/rocm-ocl-icd.rpm_postun -@@ -1,6 +1,6 @@ - if [ $1 -eq 0 ]; then -- rm -f /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -- rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ -+ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig -+ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ - rm -f @ROCM_PATH@/lib/libOpenCL.so - rm -f @ROCM_PATH@/lib/libOpenCL.so.@OPENCL_LIB_VERSION_MAJOR@ - rm -f @ROCM_PATH@/lib/libOpenCL.so.@OPENCL_LIB_VERSION_STRING@ --- -2.35.1 - diff --git a/files/0001-SWDEV-323669-Fix-linux-arch-detection.patch b/files/0001-SWDEV-323669-Fix-linux-arch-detection.patch deleted file mode 100644 --- a/files/0001-SWDEV-323669-Fix-linux-arch-detection.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 211c1c4d8c7f6dac48ba6c73256da60955f9dbd1 Mon Sep 17 00:00:00 2001 -From: Jeremy Newton -Date: Thu, 17 Feb 2022 09:05:56 -0500 -Subject: [PATCH] SWDEV-323669 - Fix linux arch detection - -CMake assumes we're bundling on x86, but for GNU compatible compilers, -we should rely on the compiler target to set the build arch. - -For non-gnu compilers, just fall back to assuming x86 (no change). - -Signed-off-by: Jeremy Newton -Change-Id: Iee9794e6f7c3973c781ddaf740ded77f34712c4f ---- - cmake/ROCclr.cmake | 1 - - include/top.hpp | 10 ++++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cmake/ROCclr.cmake b/cmake/ROCclr.cmake -index 2f6ff8c1..e4d0cdc1 100644 ---- a/cmake/ROCclr.cmake -+++ b/cmake/ROCclr.cmake -@@ -100,7 +100,6 @@ if(NOT CMAKE_CL_64) - endif() - - target_compile_definitions(rocclr PUBLIC -- ATI_ARCH_X86 - LITTLEENDIAN_CPU - WITH_LIQUID_FLASH=0 - ${AMD_OPENCL_DEFS}) -diff --git a/include/top.hpp b/include/top.hpp -index f51db7d1..70273510 100644 ---- a/include/top.hpp -+++ b/include/top.hpp -@@ -21,6 +21,16 @@ - #ifndef TOP_HPP_ - #define TOP_HPP_ - -+#if defined(__GNUC__) -+#if defined(__arm__) || defined(__aarch64__) -+#define ATI_ARCH_ARM -+#elif defined(__x86__) || defined(__x86_64__) -+#define ATI_ARCH_X86 -+#endif -+#else /*!__GNUC__*/ -+#define ATI_ARCH_X86 -+#endif /*!__GNUC__*/ -+ - #if defined(ATI_ARCH_ARM) - #define __EXPORTED_HEADERS__ 1 - #endif /*ATI_ARCH_ARM*/ --- -2.34.1 - diff --git a/files/0002-SWDEV-321116-Allow-disabling-ICD-loader.patch b/files/0002-SWDEV-321116-Allow-disabling-ICD-loader.patch deleted file mode 100644 --- a/files/0002-SWDEV-321116-Allow-disabling-ICD-loader.patch +++ /dev/null @@ -1,168 +0,0 @@ -From cee67d6763e9f0c44e97d867042993b1041f40fb Mon Sep 17 00:00:00 2001 -From: Jeremy Newton -Date: Wed, 6 Apr 2022 15:07:13 -0400 -Subject: [PATCH 2/3] SWDEV-321116 - Allow disabling ICD loader - -This patch adds an option to allow not building the ICD loader with -rocm-opencl. This isn't useful for internal use, but distros will want -this to allow packaging rocm-opencl with their own OCL ICD loader. - -Signed-off-by: Jeremy Newton -Change-Id: I6006593eceed543cd829e8949ec2256482815673 ---- - CMakeLists.txt | 23 ++++++++++++------- - packaging/CMakeLists.txt | 49 +++++++++++++++++++++++++++------------- - 2 files changed, 48 insertions(+), 24 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0612fa2..3bb903a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -10,11 +10,14 @@ project(rocm-opencl) - include(GNUInstallDirs) - - option(BUILD_TESTS "Enable building OpenCL tests" OFF) -+option(BUILD_ICD "Enable building OpenCL ICD Loader" ON) - option(EMU_ENV "Enable building for emulation environment" OFF) - - - set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") --add_subdirectory(khronos/icd) -+if(BUILD_ICD) -+ add_subdirectory(khronos/icd) -+endif() - add_subdirectory(amdocl) - add_subdirectory(tools/clinfo) - add_subdirectory(tools/cltrace) -@@ -52,8 +55,10 @@ if (DEFINED ROCM_PATCH_VERSION) - set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd") - endif() - --get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) --get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) -+if(BUILD_ICD) -+ get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) -+ get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) -+endif() - - #Set Package Version - set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) -@@ -71,11 +76,13 @@ message (STATUS "ROCM Installation path(ROCM_PATH): ${ROCM_PATH}") - - #Package: rocm-opencl,rocm-opencl-dev/devel,rocm-ocl-icd - --set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-ocl-icd) --configure_file(packaging/rocm-ocl-icd.postinst ${BUILD_DIR}/postinst @ONLY) --configure_file(packaging/rocm-ocl-icd.prerm ${BUILD_DIR}/prerm @ONLY) --configure_file(packaging/rocm-ocl-icd.rpm_post ${BUILD_DIR}/rpm_post @ONLY) --configure_file(packaging/rocm-ocl-icd.rpm_postun ${BUILD_DIR}/rpm_postun @ONLY) -+if(BUILD_ICD) -+ set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-ocl-icd) -+ configure_file(packaging/rocm-ocl-icd.postinst ${BUILD_DIR}/postinst @ONLY) -+ configure_file(packaging/rocm-ocl-icd.prerm ${BUILD_DIR}/prerm @ONLY) -+ configure_file(packaging/rocm-ocl-icd.rpm_post ${BUILD_DIR}/rpm_post @ONLY) -+ configure_file(packaging/rocm-ocl-icd.rpm_postun ${BUILD_DIR}/rpm_postun @ONLY) -+endif() - - add_subdirectory(packaging) - -diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt -index 2b6fa77..ab8fed2 100644 ---- a/packaging/CMakeLists.txt -+++ b/packaging/CMakeLists.txt -@@ -1,7 +1,10 @@ - cmake_minimum_required(VERSION 3.5.1) - include(GNUInstallDirs) - --set(CPACK_COMPONENTS_ALL binary dev icd) -+set(CPACK_COMPONENTS_ALL binary dev) -+if(BUILD_ICD) -+ string ( APPEND CPACK_COMPONENTS_ALL " icd" ) -+endif() - set(CPACK_DEB_COMPONENT_INSTALL ON) - set(CPACK_RPM_COMPONENT_INSTALL ON) - -@@ -17,8 +20,10 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL - PATTERN cl_dx9_media_sharing.h EXCLUDE - PATTERN cl_egl.h EXCLUDE ) - --install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) --install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd) -+if(BUILD_ICD) -+ install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) -+ install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd) -+endif() - - - # Generic CPACK variables -@@ -45,11 +50,19 @@ endif() - message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") - - set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") --set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "rocm-ocl-icd, libelf-dev, comgr, hsa-rocr, rocm-core") -+if(BUILD_ICD) -+ set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "rocm-ocl-icd, libelf-dev, comgr, hsa-rocr, rocm-core") -+else() -+ set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "ocl-icd-libopencl1, libelf-dev, comgr, hsa-rocr, rocm-core") -+endif() - - # RPM CPACK variables - set(CPACK_BINARY_RPM "ON") --set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "rocm-ocl-icd, comgr, hsa-rocr, rocm-core") -+if(BUILD_ICD) -+ set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "rocm-ocl-icd, comgr, hsa-rocr, rocm-core") -+else() -+ set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "ocl-icd, comgr, hsa-rocr, rocm-core") -+endif() - - #Unable to set CPACK_RPM_BIANRY_PACKAGE_LICENSE to control individual pacakge license - #Hence combining the license for BINARY,DEV,ICD to one -@@ -70,21 +83,23 @@ set(CPACK_RPM_DEV_PACKAGE_REQUIRES "rocm-opencl, hsa-rocr-devel, rocm-core") - ############################# - - # Debian CPACK variables --set(CPACK_ICD_DEB "ON") --set(CPACK_DEBIAN_ICD_PACKAGE_NAME "rocm-ocl-icd") -+if(BUILD_ICD) -+ set(CPACK_ICD_DEB "ON") -+ set(CPACK_DEBIAN_ICD_PACKAGE_NAME "rocm-ocl-icd") - --set(CPACK_DEBIAN_ICD_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/postinst;${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/prerm") --set(CPACK_DEBIAN_ICD_PACKAGE_DEPENDS "rocm-core") -+ set(CPACK_DEBIAN_ICD_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/postinst;${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/prerm") -+ set(CPACK_DEBIAN_ICD_PACKAGE_DEPENDS "rocm-core") - - # RPM CPACK variables --set(CPACK_ICD_RPM "ON") --set(CPACK_RPM_ICD_PACKAGE_NAME "rocm-ocl-icd") -+ set(CPACK_ICD_RPM "ON") -+ set(CPACK_RPM_ICD_PACKAGE_NAME "rocm-ocl-icd") - - - --set(CPACK_RPM_ICD_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_post") --set(CPACK_RPM_ICD_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_postun") --set(CPACK_RPM_ICD_PACKAGE_REQUIRES "rocm-core") -+ set(CPACK_RPM_ICD_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_post") -+ set(CPACK_RPM_ICD_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_postun") -+ set(CPACK_RPM_ICD_PACKAGE_REQUIRES "rocm-core") -+endif() - - if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) - set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) -@@ -113,8 +128,10 @@ if(NOT ROCM_DEP_ROCMCORE) - string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS ${CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS}) - string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) - string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS}) -- string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_ICD_PACKAGE_REQUIRES ${CPACK_RPM_ICD_PACKAGE_REQUIRES}) -- string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_ICD_PACKAGE_DEPENDS ${CPACK_DEBIAN_ICD_PACKAGE_DEPENDS}) -+ if(BUILD_ICD) -+ string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_ICD_PACKAGE_REQUIRES ${CPACK_RPM_ICD_PACKAGE_REQUIRES}) -+ string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_ICD_PACKAGE_DEPENDS ${CPACK_DEBIAN_ICD_PACKAGE_DEPENDS}) -+ endif() - endif() - - include(CPack) --- -2.35.1 - diff --git a/files/0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch b/files/0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch deleted file mode 100644 --- a/files/0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a0e5d11a28c6bc5bcc72927e06b643eb39ea3af3 Mon Sep 17 00:00:00 2001 -From: Jeremy Newton -Date: Wed, 6 Apr 2022 18:37:47 -0400 -Subject: [PATCH 3/3] SWDEV-321116 - Drop unnecessary ICD include - -This looks unused. This should allow building rocm-opencl without any -dependency on any particular OCL ICD. - -Signed-off-by: Jeremy Newton -Change-Id: Ib9229ede8400fd0e883275659ab99513b03952cb ---- - amdocl/cl_execute.cpp | 2 -- - amdocl/cl_icd.cpp | 2 -- - 2 files changed, 4 deletions(-) - -diff --git a/amdocl/cl_execute.cpp b/amdocl/cl_execute.cpp -index 71fe535..e1d5be2 100644 ---- a/amdocl/cl_execute.cpp -+++ b/amdocl/cl_execute.cpp -@@ -27,8 +27,6 @@ - #include "platform/program.hpp" - #include "os/os.hpp" - --#include -- - /*! \addtogroup API - * @{ - * -diff --git a/amdocl/cl_icd.cpp b/amdocl/cl_icd.cpp -index 2a4f3af..4fce08b 100644 ---- a/amdocl/cl_icd.cpp -+++ b/amdocl/cl_icd.cpp -@@ -27,8 +27,6 @@ - #include "cl_d3d11_amd.hpp" - #endif //_WIN32 - --#include -- - #include - - amd::PlatformIDS amd::PlatformID::Platform = //{ NULL }; --- -2.35.1 - diff --git a/files/0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch b/files/0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch deleted file mode 100644 --- a/files/0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 59e15ab918ee1823e1d289585d75686032a08909 Mon Sep 17 00:00:00 2001 -From: Jeremy Newton -Date: Mon, 25 Apr 2022 12:33:46 -0400 -Subject: [PATCH 4/4] SWDEV-336248 - Don't exclude cl_egl.h from install - -cl_icd.h includes cl_egl.h, but cl_egl.h is excluded from install. It -was reported by the community that including cl_icd.h would error due to -the missing cl_egl.h file. - -I'm assuming that cl_egl.h was excluded because EGL isn't important for -ROCm. Since cl_icd.h has some important typedefs, it makes sense just -to include cl_egl.h, which seems to be a common practice in open source -projects. - -Signed-off-by: Jeremy Newton -Change-Id: I506257c2dc51512ec8e11b1e5dadbe6e48ad785b ---- - packaging/CMakeLists.txt | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt -index b6d206a..60050f3 100644 ---- a/packaging/CMakeLists.txt -+++ b/packaging/CMakeLists.txt -@@ -18,8 +18,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL - 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 ) -+ PATTERN cl_dx9_media_sharing.h EXCLUDE ) - - if(BUILD_ICD) - install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) --- -2.34.1 - diff --git a/files/series b/files/series deleted file mode 100644 --- a/files/series +++ /dev/null @@ -1,4 +0,0 @@ -0001-SWDEV-321118-Use-GNUInstallDirs.patch -0002-SWDEV-321116-Allow-disabling-ICD-loader.patch -0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch -0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch diff --git a/package.yml b/package.yml --- a/package.yml +++ b/package.yml @@ -1,9 +1,9 @@ name : rocm-opencl -version : 5.1.3 -release : 1 +version : 5.3.3 +release : 2 source : - - https://github.com/ROCm-Developer-Tools/ROCclr/archive/refs/tags/rocm-5.1.3.tar.gz#ROCclr-5.1.3.tar.gz : ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48 - - https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/refs/tags/rocm-5.1.3.tar.gz#ROCm-OpenCL-Runtime-5.1.3.tar.gz : 44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31 + - https://github.com/ROCm-Developer-Tools/ROCclr/archive/refs/tags/rocm-5.3.3.tar.gz#ROCclr-5.3.3.tar.gz : f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18 + - https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/refs/tags/rocm-5.3.3.tar.gz#ROCm-OpenCL-Runtime-5.3.3.tar.gz : cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f license : MIT component : programming.devel clang : yes @@ -28,44 +28,33 @@ - rocm-compilersupport-devel - rocm-device-libs-devel - rocm-runtime-devel +environment: | + export CXXFLAGS="$CXXFLAGS -I/usr/include/amd_comgr/" setup : | tar -xvzf $sources/ROCclr-%version%.tar.gz tar -xvzf $sources/ROCm-OpenCL-Runtime-%version%.tar.gz --strip-components=1 + pushd ROCclr-rocm-%version% %patch -p1 < $pkgfiles/0001-enable-gfx800.patch - %patch -p1 < $pkgfiles/0001-SWDEV-323669-Fix-linux-arch-detection.patch - echo "set_target_properties(rocclr PROPERTIES VERSION 5.1.3 SOVERSION 5.1)" \ - >> cmake/ROCclr.cmake popd - echo "set_target_properties(cltrace PROPERTIES VERSION 5.1.3 SOVERSION 5.1)" \ - >> tools/cltrace/CMakeLists.txt - ls -d khronos/* | grep -v headers | xargs rm -r - ls -d khronos/headers/* | grep -v opencl2.2 | xargs rm -r - rm -r khronos/headers/*/tests/ - %apply_patches - %cmake -Wno-dev \ + + %cmake_ninja -Wno-dev \ -DAMD_OPENCL_PATH="%workdir%" \ -DROCM_PATH=%PREFIX% \ -DROCCLR_PATH="%workdir%/ROCclr-rocm-%version%" \ -DBUILD_ICD=OFF \ -DROCM_DIR=%PREFIX% \ - -DUSE_COMGR_LIBRARY=ON \ - #-DCMAKE_HIP_ARCHITECTURES=gfx906 + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF \ build : | - %make + %ninja_build install : | - %make_install - - install -Dm00644 config/amdocl64.icd \ - %installroot%/usr/share/OpenCL/vendors/amdocl64.icd + %ninja_install - #Avoid file conflicts with opencl-headers package: - mkdir -p %installroot%/usr/include/rocm-opencl - mv %installroot%/usr/include/CL %installroot%/usr/include/rocm-opencl/CL + install -Dm00644 config/amdocl64.icd $installdir/usr/share/OpenCL/vendors/amdocl64.icd - #CMake excludes installing this for some reason - install -Dm00644 khronos/headers/opencl2.2/CL/cl_egl.h \ - %installroot%/usr/include/rocm-opencl/CL + # Avoid file conflicts with opencl-headers package: + mkdir -p $installdir/usr/include/rocm-opencl + mv $installdir/usr/include/CL $installdir/usr/include/rocm-opencl/CL #Avoid file conflicts with clinfo package: - mv %installroot%/usr/bin/clinfo %installroot%/usr/bin/rocm-clinfo + mv $installdir/usr/bin/clinfo $installdir/usr/bin/rocm-clinfo diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml --- a/pspec_x86_64.xml +++ b/pspec_x86_64.xml @@ -20,10 +20,8 @@ programming.devel /usr/bin/rocm-clinfo - /usr/lib64/libcltrace.so.5.1 - /usr/lib64/libcltrace.so.5.1.3 /usr/share/OpenCL/vendors/amdocl64.icd - /usr/share/doc/rocm-opencl/LICENSE.txt + /usr/share/doc/opencl/LICENSE.txt @@ -33,7 +31,7 @@ programming.devel - rocm-opencl + rocm-opencl /usr/include/rocm-opencl/CL/cl.h @@ -50,17 +48,17 @@ /usr/include/rocm-opencl/CL/cl_va_api_media_sharing_intel.h /usr/include/rocm-opencl/CL/cl_version.h /usr/include/rocm-opencl/CL/opencl.h - /usr/lib64/libamdocl64.so - /usr/lib64/libcltrace.so + /usr/lib/libamdocl64.so + /usr/lib/libcltrace.so - - 2022-07-06 - 5.1.3 + + 2023-04-30 + 5.3.3 Packaging update Jacek Jagosz jacek.jagosz@outlook.com \ No newline at end of file