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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user