Do not reserve scratch memory on asic with finite vram resource

Change-Id: I0a2207cb01f464ed3e73331637cfa9bd62f03d97
Tento commit je obsažen v:
Xiaomeng Hou
2023-06-06 22:01:31 +08:00
rodič e4fffa140a
revize 389cd3564b
+4 -1
Zobrazit soubor
@@ -521,8 +521,11 @@ void GpuAgent::InitScratchPool() {
void GpuAgent::ReserveScratch()
{
size_t reserved_sz = core::Runtime::runtime_singleton_->flag().scratch_single_limit();
size_t available;
HSAKMT_STATUS err = hsaKmtAvailableMemory(node_id(), &available);
assert(err == HSAKMT_STATUS_SUCCESS && "hsaKmtAvailableMemory failed");
ScopedAcquire<KernelMutex> lock(&scratch_lock_);
if (!scratch_cache_.reserved_bytes() && reserved_sz) {
if (!scratch_cache_.reserved_bytes() && reserved_sz && available > 8 * reserved_sz) {
HSAuint64 alt_va;
void* reserved_base = scratch_pool_.alloc(reserved_sz);
assert(reserved_base && "Could not allocate reserved memory");