P4 to Git Change 1726335 by wchau@wchau_OCL_boltzmann on 2019/01/04 14:53:36
SWDEV-174898 - OCL Runtime kernel metadata lookup requires quadratic time
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.cpp#18 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.hpp#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#76 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#49 edit
[ROCm/clr commit: 2b92421194]
This commit is contained in:
@@ -396,11 +396,13 @@ bool LightningKernel::init(amd::hsa::loader::Symbol* symbol) {
|
||||
aqlCreateHWInfo(symbol);
|
||||
|
||||
#if defined(USE_COMGR_LIBRARY)
|
||||
const amd_comgr_metadata_node_t* programMD = prog().metadata();
|
||||
assert(programMD != nullptr);
|
||||
const amd_comgr_metadata_node_t* kernelMetaNode = prog().getKernelMetadata(name());
|
||||
if (kernelMetaNode == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
KernelMD kernelMD;
|
||||
if (!GetAttrCodePropMetadata(*programMD, argsBufferSize(), &kernelMD)) {
|
||||
if (!GetAttrCodePropMetadata(*kernelMetaNode, argsBufferSize(), &kernelMD)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -439,6 +441,9 @@ bool LightningKernel::init(amd::hsa::loader::Symbol* symbol) {
|
||||
}
|
||||
|
||||
// handle the printf metadata if any
|
||||
const amd_comgr_metadata_node_t* programMD = prog().metadata();
|
||||
assert(programMD != nullptr);
|
||||
|
||||
std::vector<std::string> printfStr;
|
||||
if (!GetPrintfStr(*programMD, &printfStr)) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user