[clfft] 39/74: bug fix in index calculation in swap kernel.

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Thu Jan 14 19:52:15 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/sid
in repository clfft.

commit 337f41163df1126c31d1bf59b6f5bda8adfb9b7e
Author: santanu-thangaraj <t.santanu at gmail.com>
Date:   Thu Dec 10 13:59:01 2015 +0530

    bug fix in index calculation in swap kernel.
---
 src/library/generator.transpose.nonsquare.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/library/generator.transpose.nonsquare.cpp b/src/library/generator.transpose.nonsquare.cpp
index 52aa64f..250b80e 100644
--- a/src/library/generator.transpose.nonsquare.cpp
+++ b/src/library/generator.transpose.nonsquare.cpp
@@ -133,7 +133,8 @@ static void Swap_OffsetCalc(std::stringstream& transKernel, const FFTKernelGenKe
 
     for (size_t i = params.fft_DataDim - 2; i > 0; i--)
     {
-        clKernWrite(transKernel, 3) << offset << " += (g_index)*" << stride[i + 1] << ";" << std::endl;
+        clKernWrite(transKernel, 3) << offset << " += (g_index/numGroupsY_" << i << ")*" << stride[i + 1] << ";" << std::endl;
+        clKernWrite(transKernel, 3) << "g_index = g_index % numGroupsY_" << i << ";" << std::endl;
     }
 
     clKernWrite(transKernel, 3) << std::endl;
@@ -611,6 +612,12 @@ static clfftStatus genSwapKernel(const FFTGeneratedTransposeNonSquareAction::Sig
             genTransposePrototype(params, local_work_size_swap, dtPlanar, dtComplex, funcName, transKernel, dtInput, dtOutput);
         }
 
+        clKernWrite(transKernel, 3) << "const size_t numGroupsY_1 = 1;" << std::endl;
+        for (int i = 2; i < params.fft_DataDim - 1; i++)
+        {
+            clKernWrite(transKernel, 3) << "const size_t numGroupsY_" << i << " = numGroupsY_" << i - 1 << " * " << params.fft_N[i] << ";" << std::endl;
+        }
+
         clKernWrite(transKernel, 3) << "size_t g_index;" << std::endl;
         Swap_OffsetCalc(transKernel, params);
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/clfft.git



More information about the debian-science-commits mailing list