SWDEV-376453 - Changes to fix crash seen with HIP and recent compiler change with -O0
Change-Id: I37de83b7449461ce2378741e97ff8fb8da736523
[ROCm/clr commit: c585aefdb7]
This commit is contained in:
کامیت شده توسط
Jatin Jaikishan Chaudhary
والد
ebc60d68a8
کامیت
639656a09e
@@ -1343,7 +1343,8 @@ void Kernel::InitParameters(const amd_comgr_metadata_node_t kernelMD) {
|
||||
|
||||
// Allocate the hidden arguments, but abstraction layer will skip them
|
||||
if (desc.info_.hidden_) {
|
||||
if (desc.info_.oclObject_ == amd::KernelParameterDescriptor::HiddenCompletionAction) {
|
||||
if (desc.info_.oclObject_ == amd::KernelParameterDescriptor::HiddenCompletionAction &&
|
||||
!amd::IS_HIP) {
|
||||
setDynamicParallelFlag(true);
|
||||
}
|
||||
if (codeObjectVer() == 2) {
|
||||
|
||||
@@ -348,12 +348,12 @@ hsa_kernel_dispatch_packet_t* HSAILKernel::loadArguments(VirtualGPU& gpu, const
|
||||
}
|
||||
break;
|
||||
case amd::KernelParameterDescriptor::HiddenDefaultQueue:
|
||||
if (vmDefQueue != 0) {
|
||||
if (vmDefQueue != 0 && dynamicParallelism()) {
|
||||
WriteAqlArgAt(hidden_arguments, vmDefQueue, it.size_, it.offset_);
|
||||
}
|
||||
break;
|
||||
case amd::KernelParameterDescriptor::HiddenCompletionAction:
|
||||
if (*vmParentWrap != 0) {
|
||||
if (*vmParentWrap != 0 && dynamicParallelism()) {
|
||||
WriteAqlArgAt(hidden_arguments, *vmParentWrap, it.size_, it.offset_);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2908,7 +2908,7 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes,
|
||||
case amd::KernelParameterDescriptor::HiddenDefaultQueue: {
|
||||
uint64_t vqVA = 0;
|
||||
amd::DeviceQueue* defQueue = kernel.program().context().defDeviceQueue(dev());
|
||||
if (nullptr != defQueue) {
|
||||
if (nullptr != defQueue && devKernel->dynamicParallelism()) {
|
||||
if (!createVirtualQueue(defQueue->size()) || !createSchedulerParam()) {
|
||||
return false;
|
||||
}
|
||||
@@ -2919,7 +2919,7 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes,
|
||||
}
|
||||
case amd::KernelParameterDescriptor::HiddenCompletionAction: {
|
||||
uint64_t spVA = 0;
|
||||
if (nullptr != schedulerParam_) {
|
||||
if (nullptr != schedulerParam_ && devKernel->dynamicParallelism()) {
|
||||
Memory* schedulerMem = dev().getRocMemory(schedulerParam_);
|
||||
AmdAqlWrap* wrap = reinterpret_cast<AmdAqlWrap*>(
|
||||
reinterpret_cast<uint64_t>(schedulerParam_->getHostMem()) + sizeof(SchedulerParam));
|
||||
|
||||
مرجع در شماره جدید
Block a user