diff --git a/rocclr/runtime/device/gpu/gpudevice.cpp b/rocclr/runtime/device/gpu/gpudevice.cpp index bc2c2b7445..fa82d2c4d0 100644 --- a/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/rocclr/runtime/device/gpu/gpudevice.cpp @@ -529,7 +529,14 @@ void Device::fillDeviceInfo( info_.maxMemAllocSize_ = std::max( cl_ulong(calStatus.largestBlockVisibleHeap * Mi), cl_ulong(calStatus.largestBlockInvisibleHeap * Mi)); - + +#if defined(ATI_OS_WIN) + if (settings().apuSystem_) { + info_.maxMemAllocSize_ = std::max( + ((static_cast(calAttr.uncachedRemoteRAM) * Mi) / 2), + info_.maxMemAllocSize_); + } +#endif info_.maxMemAllocSize_ = cl_ulong(info_.maxMemAllocSize_ * std::min(GPU_MAX_ALLOC_PERCENT, 100u) / 100u);