[clfft] 13/74: some bug fixes

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Thu Jan 14 19:52:12 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 8bcee100042c4442fd5f0b81de458083f5c14f2d
Author: santanu-thangaraj <t.santanu at gmail.com>
Date:   Sat Nov 14 18:32:29 2015 +0530

    some bug fixes
---
 src/library/action.h                          |  2 +-
 src/library/generator.transpose.nonsquare.cpp | 11 +++++-----
 src/library/plan.cpp                          | 29 +++++++++++----------------
 3 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/src/library/action.h b/src/library/action.h
index 5722b58..a60eba2 100644
--- a/src/library/action.h
+++ b/src/library/action.h
@@ -112,7 +112,7 @@ class FFTTransposeNonSquareAction : public FFTAction
 public:
     FFTTransposeNonSquareAction(clfftPlanHandle plHandle, FFTPlan * plan, cl_command_queue queue, clfftStatus & err);
 
-    clfftGenerators getGenerator() { return Transpose_SQUARE; }
+    clfftGenerators getGenerator() { return Transpose_NONSQUARE; }
 };
 
 //
diff --git a/src/library/generator.transpose.nonsquare.cpp b/src/library/generator.transpose.nonsquare.cpp
index c3df829..8e1ac32 100644
--- a/src/library/generator.transpose.nonsquare.cpp
+++ b/src/library/generator.transpose.nonsquare.cpp
@@ -291,7 +291,7 @@ static clfftStatus genTransposeKernel(const FFTGeneratedTransposeNonSquareAction
 
 
     // This detects whether the input matrix is rectangle of ratio 1:2
-    bool not_1x2_nonSquare;
+    
     if ((params.fft_N[0] != 2 * params.fft_N[1]) && (params.fft_N[1] != 2 * params.fft_N[0]))
     {
         return CLFFT_TRANSPOSED_NOTIMPLEMENTED;
@@ -889,7 +889,8 @@ clfftStatus FFTGeneratedTransposeNonSquareAction::initParams()
         ARG_CHECK(this->signature.fft_N[0] != 0)
             ARG_CHECK((this->plan->large1D % this->signature.fft_N[0]) == 0)
             this->signature.fft_3StepTwiddle = true;
-        ARG_CHECK(this->plan->large1D == (this->signature.fft_N[1] * this->signature.fft_N[0]));
+        //ToDo:ENABLE ASSERT
+       // ARG_CHECK(this->plan->large1D == (this->signature.fft_N[1] * this->signature.fft_N[0]));
     }
 
     //	Query the devices in this context for their local memory sizes
@@ -939,16 +940,16 @@ clfftStatus FFTGeneratedTransposeNonSquareAction::generateKernel(FFTRepo& fftRep
     OPENCL_V(status, _T("clGetCommandQueueInfo failed"));
 
 
-    OPENCL_V(fftRepo.setProgramCode(Transpose_SQUARE, this->getSignatureData(), programCode, Device, QueueContext), _T("fftRepo.setclString() failed!"));
+    OPENCL_V(fftRepo.setProgramCode(Transpose_NONSQUARE, this->getSignatureData(), programCode, Device, QueueContext), _T("fftRepo.setclString() failed!"));
 
     // Note:  See genFunctionPrototype( )
     if (this->signature.fft_3StepTwiddle)
     {
-        OPENCL_V(fftRepo.setProgramEntryPoints(Transpose_SQUARE, this->getSignatureData(), "transpose_nonsquare_tw_fwd", "transpose_nonsquare_tw_back", Device, QueueContext), _T("fftRepo.setProgramEntryPoint() failed!"));
+        OPENCL_V(fftRepo.setProgramEntryPoints(Transpose_NONSQUARE, this->getSignatureData(), "transpose_nonsquare_tw_fwd", "transpose_nonsquare_tw_back", Device, QueueContext), _T("fftRepo.setProgramEntryPoint() failed!"));
     }
     else
     {
-        OPENCL_V(fftRepo.setProgramEntryPoints(Transpose_SQUARE, this->getSignatureData(), "transpose_nonsquare", "transpose_nonsquare", Device, QueueContext), _T("fftRepo.setProgramEntryPoint() failed!"));
+        OPENCL_V(fftRepo.setProgramEntryPoints(Transpose_NONSQUARE, this->getSignatureData(), "transpose_nonsquare", "transpose_nonsquare", Device, QueueContext), _T("fftRepo.setProgramEntryPoint() failed!"));
     }
 
     return CLFFT_SUCCESS;
diff --git a/src/library/plan.cpp b/src/library/plan.cpp
index 33568c1..bccdd45 100644
--- a/src/library/plan.cpp
+++ b/src/library/plan.cpp
@@ -237,11 +237,12 @@ std::string getKernelName(const clfftGenerators gen, const clfftPlanHandle plHan
 
     switch( gen )
     {
-    case Stockham:			generatorName = "Stockham"; break;
-	case Transpose_GCN:		generatorName = "Transpose"; break;
-	case Transpose_SQUARE:	generatorName = "Transpose"; break;
-    case Transpose_VLIW:	generatorName = "Transpose"; break;
-	case Copy:				generatorName = "Copy"; break;
+    case Stockham:			    generatorName = "Stockham"; break;
+	case Transpose_GCN:		    generatorName = "Transpose"; break;
+	case Transpose_SQUARE:	    generatorName = "Transpose"; break;
+    case Transpose_NONSQUARE:	generatorName = "TransposeNonSquare"; break;
+    case Transpose_VLIW:	    generatorName = "Transpose"; break;
+	case Copy:				    generatorName = "Copy"; break;
     }
 
     kernelPath << kernelPrefix << generatorName ;
@@ -260,15 +261,6 @@ clfftStatus selectAction(FFTPlan * fftPlan, FFTAction *& action, cl_command_queu
     // set the action we are baking a leaf
     clfftStatus err;
     
-    /*Temproary code just for testing*/
-    static int test_performed = 1;
-    if (!test_performed)
-    {
-        test_performed = 1;
-        action = new FFTGeneratedTransposeNonSquareAction(fftPlan->plHandle, fftPlan, *commQueueFFT, err);
-        OPENCL_V(err, "FFTGeneratedTransposeNonSquareAction() failed");
-
-    }
     switch (fftPlan->gen)
     {
     case Stockham:  
@@ -1889,17 +1881,20 @@ clfftStatus	clfftBakePlan( clfftPlanHandle plHandle, cl_uint numQueues, cl_comma
                 else if (fftPlan->gen == Transpose_SQUARE)
                 {
                     static int test_performed = 0;
-                    size_t backup = fftPlan->length[1];
+                    size_t backup_0 = fftPlan->length[0];
+                    size_t backup_1 = fftPlan->length[1];
                     if (!test_performed)
                     {
-                        test_performed = 1;
+                        //test_performed = 1;
                         fftPlan->length[1] = fftPlan->length[0] * 2;
                         fftPlan->action = new FFTGeneratedTransposeNonSquareAction(plHandle, fftPlan, *commQueueFFT, err);
                         OPENCL_V(err, "FFTGeneratedTransposeNonSquareAction() failed");
 
                     }
 
-                    fftPlan->length[1] = backup;
+                    fftPlan->length[0] = backup_0;
+                    fftPlan->length[1] = backup_1;
+
                     fftPlan->action = new FFTGeneratedTransposeSquareAction(plHandle, fftPlan, *commQueueFFT, err);
                 }
 				else

-- 
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