Package jdistlib.accelerator
Interface LinearAlgebraBackend
- All Known Subinterfaces:
ComputeBackend
- All Known Implementing Classes:
CpuComputeBackend
public interface LinearAlgebraBackend
Backend-neutral FP64 BLAS, sparse-BLAS, and reusable factorization surface.
Dense matrices use row-major storage. Reduction order and final rounding may
differ between providers.
-
Method Summary
Modifier and TypeMethodDescriptiondefault doubledasum(int count, double[] x, int offset, int stride) default voiddaxpy(int count, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) default voiddcopy(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) default CsrMatrixdefault voiddcsrmm(double alpha, CsrMatrix matrix, double[] right, int rightColumns, double beta, double[] result) default voiddefault SparseCholeskyFactordcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle) default SparseCholeskyFactordcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle, SparseOrdering ordering) default voiddcsrsv(MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, CsrMatrix matrix, double[] vector) default doubleddot(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) default voiddgemm(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[] left, double[] right, double beta, double[] result) default voiddgemm(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[] left, int leftOffset, int leftLeadingDimension, double[] right, int rightOffset, int rightLeadingDimension, double beta, double[] result, int resultOffset, int resultLeadingDimension) Region-aware GEMM with row-major offsets and leading dimensions.default voiddgemmBatched(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[][] left, double[][] right, double beta, double[][] result) default voiddgemv(MatrixTranspose transpose, int rows, int columns, double alpha, double[] matrix, double[] x, double beta, double[] y) default voiddgemv(MatrixTranspose transpose, int rows, int columns, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double[] x, int xOffset, int xStride, double beta, double[] y, int yOffset, int yStride) Region-aware GEMV with a row-major leading dimension and strided vectors.default PivotedQrFactordgeqp3(double[] matrix, int rows, int columns) default voiddger(int rows, int columns, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride, double[] matrix) default SingularValueDecompositiondgesvd(double[] matrix, int rows, int columns) default LuFactordgetrf(double[] matrix, int dimension) default LuFactor[]dgetrfBatched(double[][] matrices, int dimension) default doublednrm2(int count, double[] x, int offset, int stride) default CholeskyFactordpotrf(double[] matrix, int dimension) default CholeskyFactor[]dpotrfBatched(double[][] matrices, int dimension) default voiddscal(int count, double alpha, double[] x, int offset, int stride) default voiddswap(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) default SymmetricEigenDecompositiondsyev(double[] matrix, int dimension) default SymmetricEigenDecompositiondsygvd(double[] matrix, double[] metric, int dimension) default voiddsymm(MatrixSide side, MatrixTriangle triangle, int rows, int columns, double alpha, double[] symmetric, double[] right, double beta, double[] result) default voiddsyr(MatrixTriangle triangle, int dimension, double alpha, double[] x, int offset, int stride, double[] matrix) default voiddsyr2(MatrixTriangle triangle, int dimension, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride, double[] matrix) default voiddsyr2k(MatrixTriangle triangle, MatrixTranspose transpose, int dimension, int shared, double alpha, double[] left, double[] right, double beta, double[] result) default voiddsyrk(MatrixTranspose transpose, int dimension, int shared, double alpha, double[] matrix, double beta, double[] result) default voiddsyrk(MatrixTranspose transpose, int dimension, int shared, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double beta, double[] result, int resultOffset, int resultLeadingDimension) default SymmetricIndefiniteFactordsytrf(double[] matrix, int dimension) default voiddtrsm(MatrixSide side, MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int rows, int columns, double alpha, double[] matrix, double[] right) default voiddtrsm(MatrixSide side, MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int rows, int columns, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double[] right, int rightOffset, int rightLeadingDimension) Region-aware triangular multi-right-side solve.default voiddtrsv(MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int dimension, double[] matrix, double[] vector) default intidamax(int count, double[] x, int offset, int stride) Returns the zero-based logical index of the first absolute maximum, or -1 when empty.default PreparedCsrMatrixprepareDcsr(CsrMatrix matrix) default PreparedSparseCholeskyprepareDcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle) default PreparedSparseCholeskyprepareDcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle, SparseOrdering ordering) default PreparedDenseMatrixprepareDge(double[] matrix, int rows, int columns)
-
Method Details
-
dscal
default void dscal(int count, double alpha, double[] x, int offset, int stride) -
dcopy
default void dcopy(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) -
dswap
default void dswap(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) -
dasum
default double dasum(int count, double[] x, int offset, int stride) -
idamax
default int idamax(int count, double[] x, int offset, int stride) Returns the zero-based logical index of the first absolute maximum, or -1 when empty. -
daxpy
default void daxpy(int count, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) -
ddot
default double ddot(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride) -
dnrm2
default double dnrm2(int count, double[] x, int offset, int stride) -
dgemv
default void dgemv(MatrixTranspose transpose, int rows, int columns, double alpha, double[] matrix, double[] x, double beta, double[] y) -
dgemv
default void dgemv(MatrixTranspose transpose, int rows, int columns, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double[] x, int xOffset, int xStride, double beta, double[] y, int yOffset, int yStride) Region-aware GEMV with a row-major leading dimension and strided vectors. -
dgemm
default void dgemm(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[] left, double[] right, double beta, double[] result) -
dgemm
default void dgemm(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[] left, int leftOffset, int leftLeadingDimension, double[] right, int rightOffset, int rightLeadingDimension, double beta, double[] result, int resultOffset, int resultLeadingDimension) Region-aware GEMM with row-major offsets and leading dimensions. -
dgemmBatched
default void dgemmBatched(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[][] left, double[][] right, double beta, double[][] result) -
dger
default void dger(int rows, int columns, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride, double[] matrix) -
dsyr
default void dsyr(MatrixTriangle triangle, int dimension, double alpha, double[] x, int offset, int stride, double[] matrix) -
dsyr2
default void dsyr2(MatrixTriangle triangle, int dimension, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride, double[] matrix) -
dsyrk
default void dsyrk(MatrixTranspose transpose, int dimension, int shared, double alpha, double[] matrix, double beta, double[] result) -
dsyrk
default void dsyrk(MatrixTranspose transpose, int dimension, int shared, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double beta, double[] result, int resultOffset, int resultLeadingDimension) -
dsyr2k
default void dsyr2k(MatrixTriangle triangle, MatrixTranspose transpose, int dimension, int shared, double alpha, double[] left, double[] right, double beta, double[] result) -
dsymm
default void dsymm(MatrixSide side, MatrixTriangle triangle, int rows, int columns, double alpha, double[] symmetric, double[] right, double beta, double[] result) -
dtrsv
default void dtrsv(MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int dimension, double[] matrix, double[] vector) -
dtrsm
default void dtrsm(MatrixSide side, MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int rows, int columns, double alpha, double[] matrix, double[] right) -
dtrsm
default void dtrsm(MatrixSide side, MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int rows, int columns, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double[] right, int rightOffset, int rightLeadingDimension) Region-aware triangular multi-right-side solve. -
dcsrmv
-
dcsrmm
default void dcsrmm(double alpha, CsrMatrix matrix, double[] right, int rightColumns, double beta, double[] result) -
dcsrgemm
-
dcsrsv
default void dcsrsv(MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, CsrMatrix matrix, double[] vector) -
prepareDcsr
-
prepareDge
-
dcsrpotrf
default SparseCholeskyFactor dcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle, SparseOrdering ordering) -
dcsrpotrf
-
prepareDcsrpotrf
default PreparedSparseCholesky prepareDcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle, SparseOrdering ordering) -
prepareDcsrpotrf
-
dpotrf
-
dpotrfBatched
-
dgetrf
-
dgetrfBatched
-
dsytrf
-
dgeqp3
-
dsyev
-
dsygvd
-
dgesvd
-