Add support for setting queue priority for ROCm backend

Change-Id: I67ed5a6868af79538f7f4522d8d11c043cdf3c1e
Tá an tiomantas seo le fáil i:
Aryan Salmanpour
2020-06-04 01:16:31 -04:00
tiomanta ag Aryan Salmanpour
tuismitheoir 44bc0cb35d
tiomantas b5552aa97f
D'athraigh 5 comhad le 105 breiseanna agus 39 scriosta
+5 -3
Féach ar an gComhad
@@ -591,7 +591,8 @@ bool VirtualGPU::releaseGpuMemoryFence() {
}
VirtualGPU::VirtualGPU(Device& device, bool profiling, bool cooperative,
const std::vector<uint32_t>& cuMask)
const std::vector<uint32_t>& cuMask,
amd::CommandQueue::Priority priority)
: device::VirtualDevice(device),
state_(0),
gpu_queue_(nullptr),
@@ -603,7 +604,8 @@ VirtualGPU::VirtualGPU(Device& device, bool profiling, bool cooperative,
schedulerParam_(nullptr),
schedulerQueue_(nullptr),
schedulerSignal_({0}),
cuMask_(cuMask)
cuMask_(cuMask),
priority_(priority)
{
index_ = device.numOfVgpus_++;
gpu_device_ = device.getBackendDevice();
@@ -705,7 +707,7 @@ VirtualGPU::~VirtualGPU() {
bool VirtualGPU::create() {
// Pick a reasonable queue size
uint32_t queue_size = 1024;
gpu_queue_ = roc_device_.acquireQueue(queue_size, cooperative_, cuMask_);
gpu_queue_ = roc_device_.acquireQueue(queue_size, cooperative_, cuMask_, priority_);
if (!gpu_queue_) return false;
if (!initPool(dev().settings().kernargPoolSize_, (profiling_) ? queue_size : 0)) {