SWDEV-404921 - Add dynamic LDS size hidden kernel argument
Change-Id: If99019058e4bfdc988ef5fc4cef001b772380453
This commit is contained in:
@@ -129,6 +129,7 @@ static amd_comgr_status_t populateArgs(const amd_comgr_metadata_node_t key,
|
||||
case amd::KernelParameterDescriptor::HiddenDefaultQueue:
|
||||
case amd::KernelParameterDescriptor::HiddenCompletionAction:
|
||||
case amd::KernelParameterDescriptor::HiddenMultiGridSync:
|
||||
case amd::KernelParameterDescriptor::HiddenDynamicLdsSize:
|
||||
case amd::KernelParameterDescriptor::HiddenNone:
|
||||
lcArg->info_.hidden_ = true;
|
||||
break;
|
||||
|
||||
@@ -64,7 +64,8 @@ struct KernelParameterDescriptor {
|
||||
HiddenPrivateBase = 27,
|
||||
HiddenSharedBase = 28,
|
||||
HiddenQueuePtr = 29,
|
||||
HiddenLast = 30
|
||||
HiddenDynamicLdsSize = 30,
|
||||
HiddenLast = 31
|
||||
};
|
||||
clk_value_type_t type_; //!< The parameter's type
|
||||
size_t offset_; //!< Its offset in the parameter's stack
|
||||
@@ -292,7 +293,8 @@ static const std::map<std::string, uint32_t> ArgValueKindV3 = {
|
||||
{"hidden_grid_dims", amd::KernelParameterDescriptor::HiddenGridDims},
|
||||
{"hidden_private_base", amd::KernelParameterDescriptor::HiddenPrivateBase},
|
||||
{"hidden_shared_base", amd::KernelParameterDescriptor::HiddenSharedBase},
|
||||
{"hidden_queue_ptr", amd::KernelParameterDescriptor::HiddenQueuePtr}
|
||||
{"hidden_queue_ptr", amd::KernelParameterDescriptor::HiddenQueuePtr},
|
||||
{"hidden_dynamic_lds_size", amd::KernelParameterDescriptor::HiddenDynamicLdsSize}
|
||||
};
|
||||
|
||||
static const std::map<std::string, cl_kernel_arg_access_qualifier> ArgAccQualV3 = {
|
||||
|
||||
@@ -439,6 +439,9 @@ hsa_kernel_dispatch_packet_t* HSAILKernel::loadArguments(
|
||||
// @note: It's not a real AQL queue
|
||||
WriteAqlArgAt(hidden_arguments, gpu.hsaQueueMem()->vmAddress(), it.size_, it.offset_);
|
||||
break;
|
||||
case amd::KernelParameterDescriptor::HiddenDynamicLdsSize:
|
||||
WriteAqlArgAt(hidden_arguments, ldsAddress - ldsSize(), it.size_, it.offset_);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3208,6 +3208,9 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes,
|
||||
case amd::KernelParameterDescriptor::HiddenQueuePtr:
|
||||
WriteAqlArgAt(hidden_arguments, gpu_queue_, it.size_, it.offset_);
|
||||
break;
|
||||
case amd::KernelParameterDescriptor::HiddenDynamicLdsSize:
|
||||
WriteAqlArgAt(hidden_arguments, sharedMemBytes, it.size_, it.offset_);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
مرجع در شماره جدید
Block a user