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)