Skip to content
This repository was archived by the owner on Jan 26, 2024. It is now read-only.

Commit 9ea24e3

Browse files
committed
Fix empty cpu agent on raven system
Change-Id: I30f5e65367613152ce96b80b13e1c9f2a28da807
1 parent 738cb5e commit 9ea24e3

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

device/rocm/rocdevice.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ void Device::setupCpuAgent() {
197197
cpu_agent_ = cpu_agents_[index].agent;
198198
system_segment_ = cpu_agents_[index].fine_grain_pool;
199199
system_coarse_segment_ = cpu_agents_[index].coarse_grain_pool;
200-
ClPrint(amd::LOG_INFO, amd::LOG_INIT, "Numa select cpu agent[%zu]=0x%zx(fine=0x%zx,coarse=0x%zx) "
200+
ClPrint(amd::LOG_INFO, amd::LOG_INIT, "Numa selects cpu agent[%zu]=0x%zx(fine=0x%zx,coarse=0x%zx)"
201201
"for gpu agent=0x%zx",
202202
index, cpu_agent_.handle, system_segment_.handle, system_coarse_segment_.handle,
203203
_bkendDevice.handle);
@@ -366,9 +366,8 @@ hsa_status_t Device::iterateAgentCallback(hsa_agent_t agent, void* data) {
366366
AgentInfo info = { agent, { 0 }, { 0 }};
367367
stat = hsa_amd_agent_iterate_memory_pools(agent, Device::iterateCpuMemoryPoolCallback,
368368
reinterpret_cast<void*>(&info));
369-
if (stat == HSA_STATUS_INFO_BREAK) {
369+
if (stat == HSA_STATUS_SUCCESS) {
370370
cpu_agents_.push_back(info);
371-
stat = HSA_STATUS_SUCCESS;
372371
}
373372
} else if (dev_type == HSA_DEVICE_TYPE_GPU) {
374373
gpu_agents_.push_back(agent);
@@ -902,9 +901,6 @@ hsa_status_t Device::iterateCpuMemoryPoolCallback(hsa_amd_memory_pool_t pool, vo
902901
agentInfo->coarse_grain_pool = pool;
903902
}
904903

905-
if (agentInfo->fine_grain_pool.handle != 0 && agentInfo->coarse_grain_pool.handle != 0) {
906-
stat = HSA_STATUS_INFO_BREAK;
907-
}
908904
break;
909905
}
910906
default:

device/rocm/rocmemory.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,9 @@ bool Buffer::create() {
867867
if (owner()->getSvmPtr() != owner()->getHostMem()) {
868868
if (memFlags & (CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR)) {
869869
hsa_amd_memory_pool_t pool = (memFlags & CL_MEM_SVM_ATOMICS) ?
870-
dev().SystemSegment() : dev().SystemCoarseSegment();
870+
dev().SystemSegment() :
871+
(dev().SystemCoarseSegment().handle != 0 ?
872+
dev().SystemCoarseSegment() : dev().SystemSegment());
871873
hsa_status_t status = hsa_amd_memory_lock_to_pool(owner()->getHostMem(),
872874
owner()->getSize(), nullptr, 0, pool, 0, &deviceMemory_);
873875
if (status != HSA_STATUS_SUCCESS) {

0 commit comments

Comments
 (0)