[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