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
This commit is contained in:
@@ -175,6 +175,7 @@ Device::Device(hsa_agent_t bkendDevice)
|
||||
gpuvm_segment_.handle = 0;
|
||||
gpu_fine_grained_segment_.handle = 0;
|
||||
prefetch_signal_.handle = 0;
|
||||
isXgmi_ = false;
|
||||
cache_state_ = Device::CacheState::kCacheStateInvalid;
|
||||
}
|
||||
|
||||
@@ -192,14 +193,20 @@ void Device::setupCpuAgent() {
|
||||
}
|
||||
}
|
||||
}
|
||||
std::vector<amd::Device::LinkAttrType> link_attrs;
|
||||
link_attrs.push_back(std::make_pair(LinkAttribute::kLinkLinkType, 0));
|
||||
if (findLinkInfo(cpu_agents_[0].fine_grain_pool, &link_attrs)) {
|
||||
isXgmi_ = (link_attrs[0].second == HSA_AMD_LINK_INFO_TYPE_XGMI);
|
||||
}
|
||||
|
||||
preferred_numa_node_ = index;
|
||||
cpu_agent_ = cpu_agents_[index].agent;
|
||||
system_segment_ = cpu_agents_[index].fine_grain_pool;
|
||||
system_coarse_segment_ = cpu_agents_[index].coarse_grain_pool;
|
||||
system_kernarg_segment_ = cpu_agents_[index].kern_arg_pool;
|
||||
ClPrint(amd::LOG_INFO, amd::LOG_INIT, "Numa selects cpu agent[%zu]=0x%zx(fine=0x%zx,"
|
||||
"coarse=0x%zx) for gpu agent=0x%zx", index, cpu_agent_.handle,
|
||||
system_segment_.handle, system_coarse_segment_.handle, bkendDevice_.handle);
|
||||
"coarse=0x%zx) for gpu agent=0x%zx CPU<->GPU XGMI=%d", index, cpu_agent_.handle,
|
||||
system_segment_.handle, system_coarse_segment_.handle, bkendDevice_.handle, isXgmi_);
|
||||
}
|
||||
|
||||
void Device::checkAtomicSupport() {
|
||||
|
||||
Reference in New Issue
Block a user