From 6039d4e884e16a753b638bc5021af33b60c6305a Mon Sep 17 00:00:00 2001
From: foreman
Date: Mon, 5 Oct 2015 15:53:47 -0400
Subject: [PATCH] P4 to Git Change 1196959 by jatang@jatang-opencl-hsa-stg2 on
2015/10/05 15:47:53
SWDEV-77321 - Change some Wave Limiter variables to 64bit to avoid integer overflow.
Luxmark v3.0 is getting performance regression due to incorrect adapting result caused by integer overflow:
ratio_[wave] = trial_[wave] * 100 / reference_[wave];
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.hpp#5 edit
[ROCm/clr commit: 112a70b4ec14899f5e4ce7b1c7d8750caf93ed02]
---
projects/clr/rocclr/runtime/device/gpu/gpuwavelimiter.hpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/projects/clr/rocclr/runtime/device/gpu/gpuwavelimiter.hpp b/projects/clr/rocclr/runtime/device/gpu/gpuwavelimiter.hpp
index b8f2d6ce6a..bc2a5fd7b5 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gpuwavelimiter.hpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gpuwavelimiter.hpp
@@ -50,7 +50,7 @@ protected:
std::vector state_;
};
- std::vector measure_;
+ std::vector measure_;
bool enable_;
uint SIMDPerSH_; // Number of SIMDs per SH
uint waves_; // Waves per SIMD to be set
@@ -91,9 +91,9 @@ public:
explicit WLAlgorithmSmooth(Kernel* owner, uint seqNum, bool enable, bool enableDump);
virtual ~WLAlgorithmSmooth();
private:
- std::vector reference_;
- std::vector trial_;
- std::vector ratio_;
+ std::vector reference_;
+ std::vector trial_;
+ std::vector ratio_;
bool discontinuous_; // Measured data is discontinuous
uint dynRunCount_;
uint dataCount_;