SWDEV-520384 - Improve Fat Binary loading latency (#390)

Init and fini kernel needs to be launched when we load and unload code object. Avoid looping through all kernels within a code object just to run the init and fini kernels. Compiler currently only generates 1 init and fini kernel.
This commit is contained in:
Xie, Pengda
2025-08-05 14:02:05 -07:00
committed by GitHub
parent 7e777d3755
commit cd46294b31
5 changed files with 72 additions and 54 deletions
+2 -2
View File
@@ -296,7 +296,7 @@ bool HSAILProgram::createKernels(void* binary, size_t binSize, bool useUniformWo
std::string kernelName(it);
HSAILKernel* aKernel = new HSAILKernel(kernelName, this, internalKernel);
kernels()[kernelName] = aKernel;
addKernel(aKernel);
if (!aKernel->init()) {
buildLog_ += "Error: Kernel initialization failed.\n";
@@ -764,7 +764,7 @@ bool LightningProgram::createKernels(void* binary, size_t binSize, bool useUnifo
buildLog_ += "[ROC][Kernel] Could not get Code Prop Meta Data \n";
return false;
}
kernels()[kernelName] = kernel;
addKernel(kernel);
if (codeObjectVer() < 5) {
kernel->setUniformWorkGroupSize(useUniformWorkGroupSize);