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

public interface CPUBackend extends ComputeBackend
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 Details

    • getType

      default String getType()
      Description copied from interface: Backend
      Returns the backend type category (e.g., "plotting", "molecular", "tensor", "math").
      Specified by:
      getType in interface Backend
      Specified by:
      getType in interface ComputeBackend
    • getAcceleratorType

      default HardwareAccelerator getAcceleratorType()
      Description copied from interface: ComputeBackend
      Returns the type of hardware accelerator used by this backend.
      Specified by:
      getAcceleratorType in interface ComputeBackend
      Returns:
      the accelerator type
    • supportsParallelOps

      default boolean supportsParallelOps()
      Description copied from interface: ComputeBackend
      Checks if this backend supports parallel operations.
      Specified by:
      supportsParallelOps in interface ComputeBackend
      Returns:
      true if parallel execution is supported
    • supportsFloatingPoint

      default boolean supportsFloatingPoint()
      Description copied from interface: ComputeBackend
      Checks if this backend supports floating-point arithmetic.
      Specified by:
      supportsFloatingPoint in interface ComputeBackend
      Returns:
      true if floating-point is supported
    • supportsComplexNumbers

      default boolean supportsComplexNumbers()
      Description copied from interface: ComputeBackend
      Checks if this backend supports complex number arithmetic.
      Specified by:
      supportsComplexNumbers in interface ComputeBackend
      Returns:
      true if complex numbers are supported