From 35c1ffa8636956466a2d4530613c79f06b1981f2 Mon Sep 17 00:00:00 2001 From: Sean Keely Date: Fri, 15 Nov 2019 19:04:56 -0600 Subject: [PATCH] Raise large scratch allocation limit for RCCL. Temporary workaround for 2.10 release. RCCL, compiler, or firmware must be corrected and this code reverted before another ASIC release. Change-Id: I27851353289b93df9acb72d28b8c6ccb9f7f7d7a --- runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp b/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp index b36ec23d71..08950dda94 100644 --- a/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp +++ b/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp @@ -958,7 +958,8 @@ void GpuAgent::AcquireQueueScratch(ScratchInfo& scratch) { ScopedAcquire lock(&scratch_lock_); // Limit to 1/8th of scratch pool for small scratch and 1/4 of that for a single queue. size_t small_limit = scratch_pool_.size() >> 3; - size_t single_limit = small_limit >> 2; + // Lift limit for 2.10 release RCCL workaround. + size_t single_limit = 146800640; //small_limit >> 2; bool large = (scratch.size > single_limit) || (scratch_pool_.size() - scratch_pool_.remaining() + scratch.size > small_limit); large = (isa_->GetMajorVersion() < 8) ? false : large;