From 2d924e337ddd08e6f3b8e04f7937ee1bc3d85e09 Mon Sep 17 00:00:00 2001 From: David Yat Sin Date: Wed, 3 May 2023 16:48:07 +0000 Subject: [PATCH] Do not report reserved scratch cache as available Scratch cache reserved memory is only available for scratch memory use so do not report this memory as available to the user via the HSA_AMD_AGENT_INFO_MEMORY_AVAIL api. Change-Id: I52f96e62536458bcaa52b9f4be5de856d5680dc4 [ROCm/ROCR-Runtime commit: 3477fbc661e0372da544dd6cd9aa5ab1a3594940] --- .../rocr-runtime/runtime/hsa-runtime/core/inc/scratch_cache.h | 1 + .../runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/scratch_cache.h b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/scratch_cache.h index 3b81b20690..792e273516 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/scratch_cache.h +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/scratch_cache.h @@ -195,6 +195,7 @@ class ScratchCache { } size_t free_bytes() const { return available_bytes_; } + size_t reserved_bytes() const { return reserved_.first; } void reserve(size_t bytes, void* base) { assert(!reserved_.first && "Already reserved memory."); diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp index 06f30d994a..2f8b9b1257 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp @@ -1231,7 +1231,7 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent_info_t attribute, void* value) const { for (auto r : regions()) availableBytes += ((AMD::MemoryRegion*)r)->GetCacheSize(); - availableBytes += scratch_cache_.free_bytes(); + availableBytes += scratch_cache_.free_bytes() - scratch_cache_.reserved_bytes(); *((uint64_t*)value) = availableBytes; break;