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)