SWDEV-361730 - Fix to match the kernel arg allocation sizes between gpu visible mem and host/runtime mem

Change-Id: I6495aa57e97b46373c1d90cc230435780fdcf3ef


[ROCm/clr commit: b2665ccc4b]
This commit is contained in:
Sourabh Betigeri
2022-10-12 12:34:52 -07:00
committed by Sourabh Betigeri
parent e81e8965c9
commit 644fc9421c
2 changed files with 5 additions and 3 deletions
+3 -2
View File
@@ -409,7 +409,7 @@ hsa_kernel_dispatch_packet_t* HSAILKernel::loadArguments(VirtualGPU& gpu, const
}
break;
case amd::KernelParameterDescriptor::HiddenRemainderX:
WriteAqlArgAt(hidden_arguments, static_cast<uint16_t>(global[0] % local[0]),
WriteAqlArgAt(hidden_arguments, static_cast<uint16_t>(global[0] % local[0]),
it.size_, it.offset_);
break;
case amd::KernelParameterDescriptor::HiddenRemainderY:
@@ -447,7 +447,8 @@ hsa_kernel_dispatch_packet_t* HSAILKernel::loadArguments(VirtualGPU& gpu, const
// Load all kernel arguments
if (signature.version() == kernel.signature().version()) {
memcpy(aqlArgBuf, parameters, argsBufferSize());
memcpy(aqlArgBuf, parameters, std::min(static_cast<uint32_t>(argsBufferSize()),
signature.paramsSize()));
}
// hsa_kernel_dispatch_packet_t disp;
@@ -2964,7 +2964,8 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes,
argBuffer = reinterpret_cast<address>(allocKernArg(gpuKernel.KernargSegmentByteSize(),
gpuKernel.KernargSegmentAlignment()));
// Load all kernel arguments
memcpy(argBuffer, parameters, gpuKernel.KernargSegmentByteSize());
memcpy(argBuffer, parameters, std::min(gpuKernel.KernargSegmentByteSize(),
signature.paramsSize()));
}
// Check for group memory overflow