# Package org.apfloat.aparapi

package org.apfloat.aparapi
Transforms for using a GPU via the aparapi library.

This package contains Number-Theoretic Transform implementations that can use the GPU (Graphics Processing Unit) for executing the transforms. There is significant overhead in invoking the GPU, e.g. in transferring the data between the main memory and the GPU memory, so for small data sets there is usually no performance improvement, and in many cases performance can be even significantly slower. However for very large calculations, e.g. one billion digits, using the GPU can improve the performance noticeably, depending on the hardware used.

- Related Packages
  Package
  Description
  org.apfloat
  The apfloat Application Programming Interface (API).
  org.apfloat.calc
  Arbitrary precision calculator interactive application.
  org.apfloat.internal
  Default implementations of the apfloat Service Provider Interface (SPI).
  org.apfloat.jscience
  JScience wrapper for apfloat.
  org.apfloat.samples
  Sample applications demonstrating apfloat use.
  org.apfloat.spi
  The apfloat Service Provider Interface (SPI).
- Class
  Description
  ColumnSixStepFNTStrategy
  Six-step NTT implementation that processes the data in the columns of the matrix.
  ColumnTwoPassFNTStrategy
  Two-pass NTT implementation that processes the data in the columns of the matrix.
  DecorableFactor3NTTStrategy
  Factor-3 NTT strategy that can be decorated.
  IntAparapiBuilderFactory
  Builder factory for aparapi transform implementations for the `int` element type.
  IntAparapiColumnSixStepFNTStrategy
  Six-step NTT implementation for the `int` element type using column orientation.
  IntAparapiColumnTwoPassFNTStrategy
  Two-pass NTT implementation for the `int` element type using column orientation.
  IntAparapiFactor3NTTStepStrategy
  Steps for the factor-3 NTT using the GPU, for the `int` element type.
  IntAparapiFactor3NTTStrategy
  Factor-3 NTT implementation for the `int` element type.
  IntAparapiMatrixStrategy
  Matrix transposition in the GPU for the `int` type.
  IntAparapiNTTBuilder
  NTT Builder for aparapi transform implementations for the `int` element type.
  IntAparapiNTTStepStrategy
  NTT steps for the `int` element type aparapi transforms.
  IntAparapiNTTStrategy
  NTT strategy with decorator to set up the data for the GPU, for the `int` element type.
  IntAparapiSixStepFNTStrategy
  Six-step NTT implementation for the `int` element type using row orientation.
  IntAparapiTwoPassFNTStrategy
  Two-pass NTT implementation for the `int` element type using row orientation.
  LongAparapiBuilderFactory
  Builder factory for aparapi transform implementations for the `long` element type.
  LongAparapiColumnSixStepFNTStrategy
  Six-step NTT implementation for the `long` element type using column orientation.
  LongAparapiColumnTwoPassFNTStrategy
  Two-pass NTT implementation for the `long` element type using column orientation.
  LongAparapiFactor3NTTStepStrategy
  Steps for the factor-3 NTT using the GPU, for the `long` element type.
  LongAparapiFactor3NTTStrategy
  Factor-3 NTT implementation for the `long` element type.
  LongAparapiMatrixStrategy
  Matrix transposition in the GPU for the `long` type.
  LongAparapiNTTBuilder
  NTT Builder for aparapi transform implementations for the `long` element type.
  LongAparapiNTTStepStrategy
  NTT steps for the `long` element type aparapi transforms.
  LongAparapiNTTStrategy
  NTT strategy with decorator to set up the data for the GPU, for the `long` element type.
  LongAparapiSixStepFNTStrategy
  Six-step NTT implementation for the `long` element type using row orientation.
  LongAparapiTwoPassFNTStrategy
  Two-pass NTT implementation for the `long` element type using row orientation.