Package jdistlib.accelerator
Class CpuComputeBackend
java.lang.Object
jdistlib.accelerator.CpuComputeBackend
- All Implemented Interfaces:
AutoCloseable,ComputeBackend,LinearAlgebraBackend,SinglePrecisionLinearAlgebraBackend
Deterministic CPU reference implementation for every accelerated primitive.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandouble[]axpy(double alpha, double[] x, double[] y) voidclose()Returns stable backend, runtime, driver, and device provenance where available.doubledot(double[] x, double[] y) id()logisticRegression(double[][] design, double[] outcomes, double[][] states, double priorPrecision) double[][]matrixMultiply(double[][] left, double[][] right) prepareLogisticRegression(double[][] design, double[] outcomes) Keeps reusable data in backend-optimal storage when the backend supports it.prepareTransposeProduct(double[][] matrix) Keeps a reusable row-by-feature matrix ready for repeatedX'vbatches.double[]unary(UnaryOperation operation, double[] input) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jdistlib.accelerator.ComputeBackend
automaticRouting, plan, prepareDpotrf, prepareSpotrf, selectedBackendMethods inherited from interface jdistlib.accelerator.LinearAlgebraBackend
dasum, daxpy, dcopy, dcsrgemm, dcsrmm, dcsrmv, dcsrpotrf, dcsrpotrf, dcsrsv, ddot, dgemm, dgemm, dgemmBatched, dgemv, dgemv, dgeqp3, dger, dgesvd, dgetrf, dgetrfBatched, dnrm2, dpotrf, dpotrfBatched, dscal, dswap, dsyev, dsygvd, dsymm, dsyr, dsyr2, dsyr2k, dsyrk, dsyrk, dsytrf, dtrsm, dtrsm, dtrsv, idamax, prepareDcsr, prepareDcsrpotrf, prepareDcsrpotrf, prepareDgeMethods inherited from interface jdistlib.accelerator.SinglePrecisionLinearAlgebraBackend
isamax, prepareScsr, prepareScsrpotrf, prepareScsrpotrf, prepareSge, sasum, saxpy, scopy, scsrgemm, scsrmm, scsrmv, scsrpotrf, scsrpotrf, scsrsv, sdot, sgemm, sgemm, sgemmBatched, sgemv, sgemv, sgeqp3, sger, sgesvd, sgetrf, sgetrfBatched, snrm2, spotrf, spotrfBatched, sscal, sswap, ssyev, ssygvd, ssymm, ssyr, ssyr2, ssyr2k, ssyrk, ssyrk, ssytrf, strsm, strsm, strsv
-
Constructor Details
-
CpuComputeBackend
public CpuComputeBackend()
-
-
Method Details
-
id
- Specified by:
idin interfaceComputeBackend
-
available
public boolean available()- Specified by:
availablein interfaceComputeBackend
-
capabilities
- Specified by:
capabilitiesin interfaceComputeBackend
-
deviceInfo
Description copied from interface:ComputeBackendReturns stable backend, runtime, driver, and device provenance where available.- Specified by:
deviceInfoin interfaceComputeBackend
-
unary
- Specified by:
unaryin interfaceComputeBackend
-
axpy
public double[] axpy(double alpha, double[] x, double[] y) - Specified by:
axpyin interfaceComputeBackend
-
dot
public double dot(double[] x, double[] y) - Specified by:
dotin interfaceComputeBackend
-
matrixMultiply
public double[][] matrixMultiply(double[][] left, double[][] right) - Specified by:
matrixMultiplyin interfaceComputeBackend
-
prepareTransposeProduct
Description copied from interface:ComputeBackendKeeps a reusable row-by-feature matrix ready for repeatedX'vbatches.- Specified by:
prepareTransposeProductin interfaceComputeBackend
-
logisticRegression
public LogisticRegressionBatchResult logisticRegression(double[][] design, double[] outcomes, double[][] states, double priorPrecision) - Specified by:
logisticRegressionin interfaceComputeBackend
-
prepareLogisticRegression
Description copied from interface:ComputeBackendKeeps reusable data in backend-optimal storage when the backend supports it.- Specified by:
prepareLogisticRegressionin interfaceComputeBackend
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceComputeBackend
-