Update code object handling for GSL, PAL and ROCm
- Correct GSL path to report targets using the TargetID syntax. - Correct GSL path to check compatibility of code objects when loading. - Add concept of an device isa and create a registery used by ROCm, PAL and GSL. - Support XNACK and SRAMECC target features consistently for PAL and ROCm. - Correct logic for NullDevices and asserts to avoid memory coruption. - Allow all NullDevices to be created for HIP. - Numerous other code improvements. Change-Id: I40abf3d2b22249c1492d1af5919665f8184f4e0e
This commit is contained in:
@@ -643,11 +643,8 @@ bool NullKernel::create(const std::string& code, const std::string& metadata,
|
||||
|
||||
if ((binaryCode == NULL) && (binarySize == 0) && !code.empty()) {
|
||||
acl_error err;
|
||||
std::string arch = "amdil";
|
||||
if (nullDev().settings().use64BitPtr_) {
|
||||
arch += "64";
|
||||
}
|
||||
aclTargetInfo info = aclGetTargetInfo(arch.c_str(), nullDev().hwInfo()->targetName_, &err);
|
||||
aclTargetInfo info = aclGetTargetInfo(nullDev().settings().use64BitPtr_ ? "amdil64" : "amdil",
|
||||
nullDev().isa().amdIlName(), &err);
|
||||
if (err != ACL_SUCCESS) {
|
||||
LogWarning("aclGetTargetInfo failed");
|
||||
return false;
|
||||
@@ -1007,7 +1004,7 @@ bool NullKernel::createMultiBinary(uint* imageSize, void** image, const void* is
|
||||
constBuffers[constBufferCount++].index = nullProg().glbCb()[i];
|
||||
}
|
||||
|
||||
encoding.machine = nullDev().hwInfo()->machine_;
|
||||
encoding.machine = nullDev().calMachine();
|
||||
encoding.type = ED_ATI_CAL_TYPE_COMPUTE;
|
||||
encoding.inputCount = inputResourceCount;
|
||||
encoding.outputCount = outputCount;
|
||||
|
||||
Reference in New Issue
Block a user