Package org.apfloat.aparapi
Class ColumnSixStepFNTStrategy
java.lang.Object
org.apfloat.internal.AbstractStepFNTStrategy
org.apfloat.internal.SixStepFNTStrategy
org.apfloat.aparapi.ColumnSixStepFNTStrategy
- All Implemented Interfaces:
Parallelizable
,NTTStrategy
- Direct Known Subclasses:
IntAparapiSixStepFNTStrategy
,LongAparapiSixStepFNTStrategy
Six-step NTT implementation that processes the data in the columns of the matrix.
This transform only works together with an NTTStepStrategy
implementation
that processes the data in columns instead of rows and a MatrixStrategy
implementation that can transpose the data.
The data size should be sufficiently large to meet the parallelization needs of the GPU. The GPU global size i.e. the number of columns in the data matrix should be at least 1024.
- Since:
- 1.8.3
- Version:
- 1.8.3
- Author:
- Mikko Tommila
-
Field Summary
Fields inherited from class org.apfloat.internal.SixStepFNTStrategy
matrixStrategy
Fields inherited from class org.apfloat.internal.AbstractStepFNTStrategy
stepStrategy
-
Constructor Summary
ConstructorsConstructorDescriptionColumnSixStepFNTStrategy(NTTStepStrategy stepStrategy, MatrixStrategy matrixStrategy)
Basic constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
multiplyElements(ArrayAccess arrayAccess, int rows, int columns, long length, long totalTransformLength, boolean isInverse, int modulus)
protected void
transposeInitial(ArrayAccess arrayAccess, int n1, int n2, boolean isInverse)
protected void
transposeMiddle(ArrayAccess arrayAccess, int n1, int n2, boolean isInverse)
Methods inherited from class org.apfloat.internal.SixStepFNTStrategy
inverseTransform, postTransform, preTransform, transform, transformFirst, transformSecond, transposeFinal
Methods inherited from class org.apfloat.internal.AbstractStepFNTStrategy
getTransformLength, inverseTransform, transform
-
Constructor Details
-
ColumnSixStepFNTStrategy
Basic constructor.- Parameters:
stepStrategy
- A step strategy that can process data in columns.matrixStrategy
- A matrix strategy that can process the data.
-
-
Method Details
-
transposeInitial
- Overrides:
transposeInitial
in classSixStepFNTStrategy
-
transposeMiddle
- Overrides:
transposeMiddle
in classSixStepFNTStrategy
-
multiplyElements
protected void multiplyElements(ArrayAccess arrayAccess, int rows, int columns, long length, long totalTransformLength, boolean isInverse, int modulus)- Overrides:
multiplyElements
in classSixStepFNTStrategy
-