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)