Interface CPUBackend
- All Superinterfaces:
Backend, ComputeBackend
- All Known Implementing Classes:
AbstractNativeCPULinearAlgebraBackend, AbstractNativeFFMBLASBackend, AbstractNativeSIMDLinearAlgebraBackend, CARMALinearAlgebraProvider, ColtBackend, CommonsMathBackend, CPUDenseLinearAlgebraProvider, CPUDenseTensorBackend, CPUSparseLinearAlgebraProvider, CPUSparseTensorBackend, DefaultCPUBackend, EJMLBackend, EpistemeLinearAlgebraBackend, GenesisBackend, JavaAWTVisionBackend, JavaCVMediaBackend, JavaSoundAudioBackend, JBlasBackend, MinimAudioBackend, MulticoreAudioBackend, MulticoreVideoBackend, MulticoreVisionBackend, NativeBulletBackend, NativeCollisionBackend, NativeCPUCBindingVisionBackend, NativeCPULinearAlgebraComplexBackend, NativeCPULinearAlgebraRealBackend, NativeCPUTensorBackend, NativeCPUVisionBackend, NativeFFMBLASComplexBackend, NativeFFMBLASRealBackend, NativeFFTBackend, NativeJavaCVMediaBackend, NativeJBulletBackend, NativeMiniAudioBackend, NativeMPFRDenseLinearAlgebraBackend, NativeMPFRSparseLinearAlgebraBackend, NativeND4JLinearAlgebraBackend, NativeSIMDComplexBackend, NativeSIMDRealBackend, NativeSimulationBackend, NativeVideoBackend, ODEBackend, StandardLinearAlgebraProvider, StrassenLinearAlgebraProvider, TarsosAudioBackend, VLCJMediaBackend
Marker interface for CPU-based compute backends.
All CPU backends (dense linear algebra, sparse, SIMD-enhanced, library-based
such as Colt, EJML, JBlas, Commons Math) must implement this interface.
The concrete default implementation is DefaultCPUBackend.
Note: SIMDBackend extends
CPUBackend for backends that additionally use SIMD vector intrinsics
(JDK Vector API or Panama FFM).
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Method Summary
Modifier and TypeMethodDescriptiondefault HardwareAcceleratorReturns the type of hardware accelerator used by this backend.default StringgetType()Returns the backend type category (e.g., "plotting", "molecular", "tensor", "math").default booleanChecks if this backend supports complex number arithmetic.default booleanChecks if this backend supports floating-point arithmetic.default booleanChecks if this backend supports parallel operations.Methods inherited from interface Backend
getAlgorithmProviders, getName, getPriority, getStatusMessage, isAvailable, isExplicitlyDisabled, shutdownMethods inherited from interface ComputeBackend
createBackend, createContext, getDescription, getId
-
Method Details
-
getType
-
getAcceleratorType
Description copied from interface:ComputeBackendReturns the type of hardware accelerator used by this backend.- Specified by:
getAcceleratorTypein interfaceComputeBackend- Returns:
- the accelerator type
-
supportsParallelOps
default boolean supportsParallelOps()Description copied from interface:ComputeBackendChecks if this backend supports parallel operations.- Specified by:
supportsParallelOpsin interfaceComputeBackend- Returns:
- true if parallel execution is supported
-
supportsFloatingPoint
default boolean supportsFloatingPoint()Description copied from interface:ComputeBackendChecks if this backend supports floating-point arithmetic.- Specified by:
supportsFloatingPointin interfaceComputeBackend- Returns:
- true if floating-point is supported
-
supportsComplexNumbers
default boolean supportsComplexNumbers()Description copied from interface:ComputeBackendChecks if this backend supports complex number arithmetic.- Specified by:
supportsComplexNumbersin interfaceComputeBackend- Returns:
- true if complex numbers are supported
-