[clfft] 41/128: fixing sub-64 size transpose issues with real transforms

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Thu Oct 22 14:54:36 UTC 2015


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

ghisvail-guest pushed a commit to branch master
in repository clfft.

commit 9ae25297460518b8f3c96aa1bb26b26b11ca6ca3
Author: bragadeesh <bragadeesh.natarajan at amd>
Date:   Sun Aug 23 13:11:18 2015 -0500

    fixing sub-64 size transpose issues with real transforms
---
 src/library/generator.transpose.gcn.cpp | 24 ++++++++++++++++++++----
 src/library/plan.cpp                    |  8 --------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/src/library/generator.transpose.gcn.cpp b/src/library/generator.transpose.gcn.cpp
index 4efa281..c2f61e4 100644
--- a/src/library/generator.transpose.gcn.cpp
+++ b/src/library/generator.transpose.gcn.cpp
@@ -799,8 +799,16 @@ static clfftStatus genTransposeKernel( const FFTGeneratedTransposeGCNAction::Sig
 						clKernWrite( transKernel, 9 ) << std::endl;
 						if(params.fft_realSpecial)
 						{
-							clKernWrite( transKernel, 9 ) << "if( (" << wIndexY << " < " << wIndexXEnd << ") && (" <<
-								wIndexX << " < 1) )" << std::endl;
+							clKernWrite( transKernel, 9 ) << "if( ((" << wIndexY << " == " << wIndexXEnd - 1 << ") && (" <<
+								wIndexX << " < 1)) ";
+							if(wIndexXEnd > 1)
+							{
+								clKernWrite( transKernel, 0 ) << "|| (" << wIndexY << " < " << wIndexXEnd - 1 << ") )" << std::endl;
+							}
+							else
+							{
+								clKernWrite( transKernel, 0 ) << ")" << std::endl;
+							}
 						}
 						else
 						{
@@ -813,8 +821,16 @@ static clfftStatus genTransposeKernel( const FFTGeneratedTransposeGCNAction::Sig
 						clKernWrite( transKernel, 9 ) << std::endl;
 						if(params.fft_realSpecial)
 						{
-							clKernWrite( transKernel, 9 ) << "if( (" << wIndexX << " < " << wIndexYEnd << ") && (" <<
-								wIndexY << " < 1) )" << std::endl;
+							clKernWrite( transKernel, 9 ) << "if( ((" << wIndexX << " == " << wIndexYEnd - 1 << ") && (" <<
+								wIndexY << " < 1)) ";
+							if(wIndexYEnd > 1)
+							{
+								clKernWrite( transKernel, 0 ) << "|| (" << wIndexX << " < " << wIndexYEnd - 1 << ") )" << std::endl;
+							}
+							else
+							{
+								clKernWrite( transKernel, 0 ) << ")" << std::endl;
+							}
 						}
 						else
 						{
diff --git a/src/library/plan.cpp b/src/library/plan.cpp
index 728c712..96d5df8 100644
--- a/src/library/plan.cpp
+++ b/src/library/plan.cpp
@@ -802,14 +802,6 @@ clfftStatus	clfftBakePlan( clfftPlanHandle plHandle, cl_uint numQueues, cl_comma
 					&& (fftPlan->length[0] > 4096) && (fftPlan->length.size() == 1) )
 				{
 
-					if( (fftPlan->length[0] == 8192) )
-					{
-						size_t tmp = length0;
-						clLengths[0] = length0 = length1;
-						clLengths[1] = length1 = tmp;
-					}
-
-
 					ARG_CHECK(clLengths[0] <= Large1DThreshold);
 
 

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