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]
Этот коммит содержится в:
foreman
2019-01-04 15:06:29 -05:00
родитель a198168a67
Коммит aa1de227ce
6 изменённых файлов: 105 добавлений и 73 удалений
+9 -3
Просмотреть файл
@@ -37,11 +37,14 @@ bool LightningKernel::init() {
hsa_agent_t hsaDevice = program_->hsaDevice();
const amd_comgr_metadata_node_t* programMD = static_cast<LightningProgram*>(program_)->metadata();
assert(programMD != nullptr);
const amd_comgr_metadata_node_t* kernelMetaNode =
static_cast<LightningProgram*>(program_)->getKernelMetadata(name());
if (kernelMetaNode == nullptr) {
return false;
}
KernelMD kernelMD;
if (!GetAttrCodePropMetadata(*programMD, KernargSegmentByteSize(), &kernelMD)) {
if (!GetAttrCodePropMetadata(*kernelMetaNode, KernargSegmentByteSize(), &kernelMD)) {
return false;
}
@@ -127,6 +130,9 @@ bool LightningKernel::init() {
}
// handle the printf metadata if any
const amd_comgr_metadata_node_t* programMD = static_cast<LightningProgram*>(program_)->metadata();
assert(programMD != nullptr);
std::vector<std::string> printfStr;
if (!GetPrintfStr(*programMD, &printfStr)) {
return false;