diff options
author | I-Jui (Ray) Sung <ray@multicorewareinc.com> | 2013-11-20 08:49:27 -0600 |
---|---|---|
committer | I-Jui (Ray) Sung <ray@multicorewareinc.com> | 2013-11-20 14:47:06 -0600 |
commit | b98edda0719e382f38e68ecd76653c5de74aa283 (patch) | |
tree | 8981097d5a005c9f504bbe2082658dd9fbc6b780 /sc | |
parent | acc0fcd96c940e42da27bb58ba1c89ae5de5a5b8 (diff) |
GPU Calc: re-enable parallel SUMIFS
Change-Id: I70797f089ead267d223772b73c4d093813716029
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/opencl/formulagroupcl.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx index 5d14ddddf233..2ddff7582373 100644 --- a/sc/source/core/opencl/formulagroupcl.cxx +++ b/sc/source/core/opencl/formulagroupcl.cxx @@ -434,7 +434,14 @@ public: bIsStartFixed = mpDVR->IsStartFixed(); bIsEndFixed = mpDVR->IsEndFixed(); } - + // Should only be called by SumIfs. Yikes! + virtual bool NeedParallelReduction(void) const + { + assert(dynamic_cast<OpSumIfs*>(mpCodeGen.get())); + return GetWindowSize()> 100 && + ( (GetStartFixed() && GetEndFixed()) || + (!GetStartFixed() && !GetEndFixed()) ) ; + } virtual void GenSlidingWindowFunction(std::stringstream &) {} virtual std::string GenSlidingWindowDeclRef(bool=false) const |