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]
Цей коміт міститься в:
Saleel Kudchadker
2023-05-17 16:27:16 -07:00
джерело 9394aa2671
коміт a5715294fb
4 змінених файлів з 19 додано та 4 видалено
+6 -2
Переглянути файл
@@ -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;
}