P4 to Git Change 1708210 by jatang@jatang_win_pal_lc on 2018/11/16 11:48:47

SWDEV-169078 - Also copy  private_segment_size/group_segment_size to runtime handle.

	The library need these info to setup child kernel's AQL for device enqueue.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.hpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#69 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#44 edit


[ROCm/clr commit: dcf21ab5e6]
This commit is contained in:
foreman
2018-11-16 11:57:05 -05:00
parent c890821f23
commit 13667158aa
4 changed files with 24 additions and 5 deletions
@@ -439,10 +439,15 @@ bool LightningKernel::init(amd::hsa::loader::Symbol* symbol) {
// Copy the kernel_object pointer to the runtime handle symbol GPU address
const Memory& codeSegGpu = prog_.codeSegGpu();
uint64_t offset = symbol_address - codeSegGpu.vmAddress();
uint64_t kernel_object = gpuAqlCode();
VirtualGPU* gpu = codeSegGpu.dev().xferQueue();
codeSegGpu.writeRawData(*gpu, offset, 8, &kernel_object, true);
const struct RuntimeHandle runtime_handle = {
gpuAqlCode(),
spillSegSize(),
ldsSize()
};
codeSegGpu.writeRawData(*gpu, offset, sizeof(runtime_handle), &runtime_handle, true);
}
// Copy wavefront size