From 0d5e7c39e27fea4493da327c19f3d37b56f2524b Mon Sep 17 00:00:00 2001 From: foreman Date: Mon, 1 Oct 2018 15:09:26 -0400 Subject: [PATCH] P4 to Git Change 1613181 by wchau@wchau_OCL_cmake on 2018/10/01 14:34:03 SWDEV-165756 - [ROCm] Backport cmake back into perforce to resolve cmake build broken issue - porting CMAKE changes in http://git.amd.com:8080/#/c/173995/ - add new source file names in runtime/CMakeLists.txt -- required additional changes of CMAKE files from Konstantin to build the current OCL driver using CMAKE Affected files ... ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/CMakeLists.txt#15 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#32 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#32 edit ... //depot/stg/opencl/drivers/opencl/runtime/CMakeLists.txt#11 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/CMakeLists.txt#13 edit --- rocclr/compiler/lib/utils/v0_8/libUtils.cpp | 39 +++++++++++++++++++++ rocclr/compiler/lib/utils/v0_8/libUtils.h | 16 +++------ rocclr/runtime/CMakeLists.txt | 3 ++ rocclr/runtime/device/rocm/CMakeLists.txt | 2 +- 4 files changed, 47 insertions(+), 13 deletions(-) diff --git a/rocclr/compiler/lib/utils/v0_8/libUtils.cpp b/rocclr/compiler/lib/utils/v0_8/libUtils.cpp index fca1eea4e5..f1bf5cd94a 100644 --- a/rocclr/compiler/lib/utils/v0_8/libUtils.cpp +++ b/rocclr/compiler/lib/utils/v0_8/libUtils.cpp @@ -460,6 +460,45 @@ const char *getDeviceName(const aclTargetInfo &target) return NULL; } +const TargetMapping& getTargetMapping(const aclTargetInfo &target) +{ + switch (target.arch_id) { + default: + break; + case aclX64: + return X64TargetMapping[target.chip_id]; + break; + case aclX86: + return X86TargetMapping[target.chip_id]; + break; + case aclHSAIL: + return HSAILTargetMapping[target.chip_id]; + break; + case aclHSAIL64: + return HSAIL64TargetMapping[target.chip_id]; + break; + case aclAMDIL: + return AMDILTargetMapping[target.chip_id]; + break; + case aclAMDIL64: + return AMDIL64TargetMapping[target.chip_id]; + break; + }; + return UnknownTarget; +} + +bool isChipSupported(const aclTargetInfo& target) +{ + if (!isValidTarget(target)) { + return false; + } + const TargetMapping& Mapping = getTargetMapping(target); + if (Mapping.family_enum == FAMILY_UNKNOWN) { + return false; + } + return Mapping.supported; +} + /*! Function that returns the library type from the TargetMapping table for *the specific target device id. */ diff --git a/rocclr/compiler/lib/utils/v0_8/libUtils.h b/rocclr/compiler/lib/utils/v0_8/libUtils.h index 4c44d5bb5b..b25db76c36 100644 --- a/rocclr/compiler/lib/utils/v0_8/libUtils.h +++ b/rocclr/compiler/lib/utils/v0_8/libUtils.h @@ -264,7 +264,6 @@ aclutUpdateMetadataWithHiddenKernargsNum(aclCompiler* cl, aclBinary* bin, uint32 } #endif -// Returns the TargetMapping for the specific target device. inline const TargetMapping& getTargetMapping(const aclTargetInfo &target) { switch (target.arch_id) { @@ -292,6 +291,9 @@ inline const TargetMapping& getTargetMapping(const aclTargetInfo &target) return UnknownTarget; } +// Returns the TargetMapping for the specific target device. +const TargetMapping& getTargetMapping(const aclTargetInfo &target); + inline bool is64BitTarget(const aclTargetInfo& target) { return (target.arch_id == aclX64 || @@ -327,17 +329,7 @@ inline bool isValidTarget(const aclTargetInfo& target) return (target.arch_id && target.chip_id); } -inline bool isChipSupported(const aclTargetInfo& target) -{ - if (!isValidTarget(target)) { - return false; - } - const TargetMapping& Mapping = getTargetMapping(target); - if (Mapping.family_enum == FAMILY_UNKNOWN) { - return false; - } - return Mapping.supported; -} +bool isChipSupported(const aclTargetInfo& target); enum scId { SC_AMDIL = 0, diff --git a/rocclr/runtime/CMakeLists.txt b/rocclr/runtime/CMakeLists.txt index f35f7a3749..440162fe6c 100644 --- a/rocclr/runtime/CMakeLists.txt +++ b/rocclr/runtime/CMakeLists.txt @@ -39,6 +39,9 @@ add_library(oclruntime OBJECT device/hwdebug.cpp device/blitcl.cpp device/blit.cpp + device/devkernel.cpp + device/devwavelimiter.cpp + device/devprogram.cpp platform/kernel.cpp platform/context.cpp platform/command.cpp diff --git a/rocclr/runtime/device/rocm/CMakeLists.txt b/rocclr/runtime/device/rocm/CMakeLists.txt index 541522d80f..1d8194e251 100644 --- a/rocclr/runtime/device/rocm/CMakeLists.txt +++ b/rocclr/runtime/device/rocm/CMakeLists.txt @@ -13,13 +13,13 @@ add_library(oclrocm OBJECT rocprogram.cpp rocmemory.cpp rocdevice.cpp - roccompiler.cpp rocblit.cpp rockernel.cpp rocvirtual.cpp rocglinterop.cpp rocappprofile.cpp rocsettings.cpp + rocschedcl.cpp ) set_target_properties(oclrocm PROPERTIES POSITION_INDEPENDENT_CODE ON)