From 93e25f8df9ad76c3a307b439146d49499b14d97f Mon Sep 17 00:00:00 2001 From: foreman Date: Wed, 3 Oct 2018 21:26:10 -0400 Subject: [PATCH] P4 to Git Change 1614278 by wchau@wchau_OCL_cmake on 2018/10/03 21:04:41 SWDEV-165756 - [ROCm] Backport cmake back into perforce to resolve cmake build broken issue (Resubmitted CL1613181 with a bug fix) - 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#17 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#34 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#34 edit ... //depot/stg/opencl/drivers/opencl/runtime/CMakeLists.txt#13 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/CMakeLists.txt#15 edit [ROCm/clr commit: 24437ae9d969d80f9b5617a30fdb29d1528522b1] --- .../compiler/lib/utils/v0_8/libUtils.cpp | 39 +++++++++++++++++++ .../rocclr/compiler/lib/utils/v0_8/libUtils.h | 39 +------------------ projects/clr/rocclr/runtime/CMakeLists.txt | 3 ++ .../rocclr/runtime/device/rocm/CMakeLists.txt | 2 +- 4 files changed, 45 insertions(+), 38 deletions(-) diff --git a/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.cpp b/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.cpp index fca1eea4e5..f1bf5cd94a 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.cpp +++ b/projects/clr/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/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.h b/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.h index 4c44d5bb5b..ed9146014c 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.h +++ b/projects/clr/rocclr/compiler/lib/utils/v0_8/libUtils.h @@ -265,32 +265,7 @@ 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) { - 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; -} +const TargetMapping& getTargetMapping(const aclTargetInfo &target); inline bool is64BitTarget(const aclTargetInfo& target) { @@ -327,17 +302,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/projects/clr/rocclr/runtime/CMakeLists.txt b/projects/clr/rocclr/runtime/CMakeLists.txt index f35f7a3749..440162fe6c 100644 --- a/projects/clr/rocclr/runtime/CMakeLists.txt +++ b/projects/clr/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/projects/clr/rocclr/runtime/device/rocm/CMakeLists.txt b/projects/clr/rocclr/runtime/device/rocm/CMakeLists.txt index 541522d80f..1d8194e251 100644 --- a/projects/clr/rocclr/runtime/device/rocm/CMakeLists.txt +++ b/projects/clr/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)