SWDEV-301667 - Add a flag for gpuvm kernargs

HIP_FORCE_DEV_KERNARG=1 will create a device allocation for kernel arg
segment. Flag is 0 by default.

Change-Id: Iaaf5a149f3be8596568878d5d272268baf067c60


[ROCm/clr commit: 5436d362b1]
This commit is contained in:
Saleel Kudchadker
2023-05-17 16:27:16 -07:00
parent 9394aa2671
commit a5715294fb
4 changed files with 19 additions and 4 deletions
@@ -1315,8 +1315,12 @@ bool VirtualGPU::initPool(size_t kernarg_pool_size) {
kernarg_pool_size_ = kernarg_pool_size;
kernarg_pool_chunk_end_ = kernarg_pool_size_ / KernelArgPoolNumSignal;
active_chunk_ = 0;
kernarg_pool_base_ = reinterpret_cast<address>(roc_device_.hostAlloc(kernarg_pool_size_, 0,
Device::MemorySegment::kKernArg));
if (HIP_FORCE_DEV_KERNARG && roc_device_.info().largeBar_) {
kernarg_pool_base_ = reinterpret_cast<address>(roc_device_.deviceLocalAlloc(kernarg_pool_size_));
} else {
kernarg_pool_base_ = reinterpret_cast<address>(roc_device_.hostAlloc(kernarg_pool_size_, 0,
Device::MemorySegment::kKernArg));
}
if (kernarg_pool_base_ == nullptr) {
return false;
}