From 029cfb4aeedf14f5ed3d24a2c6ac8b0baf191b97 Mon Sep 17 00:00:00 2001
From: foreman
Date: Mon, 4 Nov 2019 16:18:08 -0500
Subject: [PATCH] P4 to Git Change 2024527 by gandryey@gera-win10 on 2019/11/04
16:11:31
SWDEV-209969 - SQTT missing event instrumenting token in OpenCL trace
- SQTT trace reports memory clears if program load occurs during the capture. Avoid memory clears with GPU if CPU backing store is available
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#100 edit
---
rocclr/runtime/device/pal/palprogram.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/rocclr/runtime/device/pal/palprogram.cpp b/rocclr/runtime/device/pal/palprogram.cpp
index 4de2710453..1813c42bb0 100644
--- a/rocclr/runtime/device/pal/palprogram.cpp
+++ b/rocclr/runtime/device/pal/palprogram.cpp
@@ -99,7 +99,8 @@ bool Segment::alloc(HSAILProgram& prog, amdgpu_hsa_elf_segment_t segment, size_t
}
}
- if (zero && !prog.isInternal()) {
+ // Don't clear GPU memory if CPU backing store is available
+ if ((cpuAccess_ == nullptr) && zero && !prog.isInternal()) {
uint64_t pattern = 0;
size_t patternSize = ((size % sizeof(pattern)) == 0) ? sizeof(pattern) : 1;
prog.dev().xferMgr().fillBuffer(*gpuAccess_, &pattern, patternSize, amd::Coord3D(0),