P4 to Git Change 1977224 by gandryey@gera-hip-lnx on 2019/08/01 16:17:51

SWDEV-193423 - HIP/VDI - Support for lazy hsa queue creation
	- Add queue pool support for HSA HW queues. GPU_MAX_HW_QUEUES controls the pool size. The current default value is 4 (the number of active pipes on GPU).

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#132 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#38 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#81 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.hpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#314 edit
This commit is contained in:
foreman
2019-08-01 16:24:33 -04:00
parent ed4ddbb31d
commit 950dccb283
5 changed files with 83 additions and 37 deletions
+3
View File
@@ -406,6 +406,8 @@ class Device : public NullDevice {
VirtualGPU* xferQueue() const;
std::map<hsa_queue_t*, int>& QueuePool() { return queue_pool_; }
private:
static hsa_ven_amd_loader_1_00_pfn_t amd_loader_ext_table;
@@ -436,6 +438,7 @@ class Device : public NullDevice {
std::atomic<size_t> freeMem_; //!< Total of free memory available
mutable amd::Monitor vgpusAccess_; //!< Lock to serialise virtual gpu list access
bool hsa_exclusive_gpu_access_; //!< TRUE if current device was moved into exclusive GPU access mode
std::map<hsa_queue_t*, int> queue_pool_; //!< Pool of HSA queues for recycling
public:
amd::Atomic<uint> numOfVgpus_; //!< Virtual gpu unique index