P4 to Git Change 1539091 by vsytchen@vsytchen-ocl-win10 on 2018/04/10 14:57:40

SWDEV-150166 - [OCL][LC][Ellesmere][Windows] oclcompiler.OCLStructOperations[30] causing crash

	1. Set the default amount of command buffer allocated per queue to 4 for pre-gfx9 and 12 for gfx9+ pal devices.
	2. Limit the amount of command buffers allocated for device queue to 2.

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/14594/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#50 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#89 edit
This commit is contained in:
foreman
2018-04-10 15:53:40 -04:00
parent 19332a7d5e
commit 655732efab
2 ha cambiato i file con 8 aggiunte e 3 eliminazioni
+7 -2
Vedi File
@@ -142,8 +142,7 @@ Settings::Settings() {
subAllocationMaxSize_ =
std::min(static_cast<uint64_t>(GPU_MAX_SUBALLOC_SIZE) * Ki, subAllocationChunkSize_);
// Note: More command buffers may cause a HW hang with HWSC on VI family in OCLPerfKernelArguments
maxCmdBuffers_ = 8;
maxCmdBuffers_ = 12;
}
bool Settings::create(const Pal::DeviceProperties& palProp,
@@ -293,6 +292,12 @@ bool Settings::create(const Pal::DeviceProperties& palProp,
maxAllocSize_ = 3ULL * Gi;
}
// Note: More than 4 command buffers may cause a HW hang
// with HWSC on pre-gfx9 devices in OCLPerfKernelArguments
if (!aiPlus_) {
maxCmdBuffers_ = 4;
}
supportRA_ = false;
partialDispatch_ = GPU_PARTIAL_DISPATCH;
numMemDependencies_ = GPU_NUM_MEM_DEPENDENCY;
+1 -1
Vedi File
@@ -784,7 +784,7 @@ bool VirtualGPU::create(bool profiling, uint deviceQueueSize, uint rtCUs,
uint idx = index() % (dev().numComputeEngines() - firstQueue);
uint64_t residency_limit = dev().properties().gpuMemoryProperties.flags.supportPerSubmitMemRefs ? 0 :
(dev().properties().gpuMemoryProperties.maxLocalMemSize >> 2);
uint max_cmd_buffers = dev().settings().maxCmdBuffers_;
uint max_cmd_buffers = (idx == 0) ? 2 : dev().settings().maxCmdBuffers_;
if (dev().numComputeEngines()) {
//! @todo There is a hang with a mix of user and non user queues.