Do not initialize runtime internal queues based on mapping memory to a GPU.

Conserves VMIDs when multiple processes are in use and memory operations
are not GPU specific.  For instance HIP API hipHostMalloc does not accept
a target GPU so when used with one process per GPU (ie GPU == MPI rank) we can
quickly exceed the available VMID slots if every process consumes a VMID on
every GPU.

Change-Id: Ib6fa051290089f71581029c09f9a44b9992237d1


[ROCm/ROCR-Runtime commit: 35a270ef7e]
This commit is contained in:
Sean Keely
2018-07-11 18:31:14 -05:00
parent 6a51ad6aff
commit 9751587239
@@ -524,10 +524,6 @@ hsa_status_t MemoryRegion::AllowAccess(uint32_t num_agents,
lock.Release();
for (GpuAgentInt* gpu : whitelist_gpus) {
gpu->PreloadBlits();
}
return HSA_STATUS_SUCCESS;
}
@@ -598,10 +594,6 @@ hsa_status_t MemoryRegion::Lock(uint32_t num_agents, const hsa_agent_t* agents,
*agent_ptr = host_ptr;
}
for (auto gpu : whitelist_gpus) {
static_cast<GpuAgentInt*>(gpu)->PreloadBlits();
}
return HSA_STATUS_SUCCESS;
}
amd::MemoryRegion::DeregisterMemory(host_ptr);