diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp index afcfae562b..de63f18530 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp @@ -538,6 +538,12 @@ void Device::fillDeviceInfo( cl_ulong(calStatus.largestBlockVisibleHeap * Mi), cl_ulong(calStatus.largestBlockInvisibleHeap * Mi)); + if (settings().apuSystem_) { + info_.maxMemAllocSize_ = std::max( + ((static_cast(calAttr.uncachedRemoteRAM) * Mi) / 2), + info_.maxMemAllocSize_); + } + info_.maxMemAllocSize_ = cl_ulong(info_.maxMemAllocSize_ * std::min(GPU_MAX_ALLOC_PERCENT, 100u) / 100u);