diff --git a/projects/clr/rocclr/device/pal/paldevice.cpp b/projects/clr/rocclr/device/pal/paldevice.cpp index 2887705914..75cd3c3eaa 100644 --- a/projects/clr/rocclr/device/pal/paldevice.cpp +++ b/projects/clr/rocclr/device/pal/paldevice.cpp @@ -613,8 +613,14 @@ void NullDevice::fillDeviceInfo(const Pal::DeviceProperties& palProp, info_.numRTQueues_ = numExclusiveComputeRings; const auto& engineProp = palProp.engineProperties[Pal::EngineTypeCompute]; - info_.numRTCUs_ = engineProp.maxNumDedicatedCu; - info_.granularityRTCUs_ = engineProp.dedicatedCuGranularity; + + if (settings().enableWgpMode_) { + info_.numRTCUs_ = engineProp.maxNumDedicatedCu / 2; + info_.granularityRTCUs_ = engineProp.dedicatedCuGranularity / 2; + } else { + info_.numRTCUs_ = engineProp.maxNumDedicatedCu; + info_.granularityRTCUs_ = engineProp.dedicatedCuGranularity; + } info_.threadTraceEnable_ = settings().threadTraceEnable_; diff --git a/projects/clr/rocclr/device/pal/palvirtual.cpp b/projects/clr/rocclr/device/pal/palvirtual.cpp index 2376b1d6db..64b5bfa67f 100644 --- a/projects/clr/rocclr/device/pal/palvirtual.cpp +++ b/projects/clr/rocclr/device/pal/palvirtual.cpp @@ -87,6 +87,9 @@ VirtualGPU::Queue* VirtualGPU::Queue::Create(VirtualGPU& gpu, Pal::QueueType que cmdCreateInfo.engineType = qCreateInfo.engineType = Pal::EngineTypeCompute; qCreateInfo.priority = Pal::QueuePriority::Medium; } else if (amd::CommandQueue::RealTimeDisabled != rtCU) { + if (gpu.dev().settings().enableWgpMode_) { + rtCU = rtCU * 2; + } qCreateInfo.numReservedCu = amd::alignDown(rtCU, gpu.dev().properties().engineProperties[Pal::EngineTypeCompute].dedicatedCuGranularity); if (qCreateInfo.numReservedCu == 0) {