P4 to Git Change 1451494 by gandryey@gera-w8 on 2017/08/24 17:34:58
SWDEV-129129 - [[CQE OCL][Vega vs Fiji] Upto 12% Performance drop observed on VEGA10 compared to FIJI while running BlackMagic Davinci Resolve - Remove some debug logic (resident_ field) from CL#1451293. It caused some CPU overhead - Use a template for waifForFence() to avoid some calls when unnecessary Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#15 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#31 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.hpp#14 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#53 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#29 edit
Tento commit je obsažen v:
@@ -46,6 +46,7 @@ GpuMemoryReference* GpuMemoryReference::Create(const Device& dev,
|
||||
}
|
||||
// Update free memory size counters
|
||||
const_cast<Device&>(dev).updateFreeMemory(createInfo.heaps[0], createInfo.size, false);
|
||||
dev.addResource(memRef);
|
||||
return memRef;
|
||||
}
|
||||
|
||||
@@ -68,6 +69,7 @@ GpuMemoryReference* GpuMemoryReference::Create(const Device& dev,
|
||||
}
|
||||
// Update free memory size counters
|
||||
const_cast<Device&>(dev).updateFreeMemory(Pal::GpuHeap::GpuHeapGartCacheable, createInfo.size, false);
|
||||
dev.addResource(memRef);
|
||||
return memRef;
|
||||
}
|
||||
|
||||
@@ -90,6 +92,7 @@ GpuMemoryReference* GpuMemoryReference::Create(const Device& dev,
|
||||
// Update free memory size counters
|
||||
const_cast<Device&>(dev).updateFreeMemory(Pal::GpuHeap::GpuHeapGartCacheable, createInfo.size,
|
||||
false);
|
||||
dev.addResource(memRef);
|
||||
return memRef;
|
||||
}
|
||||
|
||||
@@ -111,6 +114,7 @@ GpuMemoryReference* GpuMemoryReference::Create(const Device& dev,
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
dev.addResource(memRef);
|
||||
return memRef;
|
||||
}
|
||||
|
||||
@@ -137,11 +141,12 @@ GpuMemoryReference* GpuMemoryReference::Create(const Device& dev,
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
dev.addResource(memRef);
|
||||
return memRef;
|
||||
}
|
||||
|
||||
GpuMemoryReference::GpuMemoryReference(const Device& dev)
|
||||
: gpuMem_(nullptr), cpuAddress_(nullptr), events_(dev.numOfVgpus()), device_(dev), gpu_(nullptr), resident_(0) {}
|
||||
: gpuMem_(nullptr), cpuAddress_(nullptr), events_(dev.numOfVgpus()), device_(dev), gpu_(nullptr) {}
|
||||
|
||||
GpuMemoryReference::~GpuMemoryReference() {
|
||||
if (gpu_ == nullptr) {
|
||||
@@ -162,10 +167,6 @@ GpuMemoryReference::~GpuMemoryReference() {
|
||||
device_.vgpus()[0]->releaseMemory(this, &events_[0]);
|
||||
}
|
||||
|
||||
if (resident_ != 0) {
|
||||
LogError("Residency counter isn't 0 on memory destroy!");
|
||||
}
|
||||
|
||||
{
|
||||
amd::ScopedLock lk(device_.lockPAL());
|
||||
if (cpuAddress_ != nullptr) {
|
||||
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele