diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-10-13 22:19:36 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-10-14 23:22:23 +0100 |
commit | 4b19be30aa626b327c885dae62c559ec0e9fb935 (patch) | |
tree | 76e74807bc479502e13866b581b6bf86734ec634 /dev-libs/rocm-opencl-runtime/files | |
parent | 30d6f67c98d149508509d5e86f176d558793acc0 (diff) |
gentoo resync : 13.10.2019
Diffstat (limited to 'dev-libs/rocm-opencl-runtime/files')
5 files changed, 349 insertions, 0 deletions
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 000000000000..f399f360c9cf --- /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 000000000000..796277e46723 --- /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 000000000000..0679da4d639a --- /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 000000000000..cd6695e2d4f6 --- /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 000000000000..741faf20ca78 --- /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 |