Class HDF5IOBackend
java.lang.Object
org.episteme.core.io.backends.HDF5IOBackend
- All Implemented Interfaces:
Backend, ComputeBackend
@AutoService({Backend.class,ComputeBackend.class})
public class HDF5IOBackend
extends Object
implements ComputeBackend
HDF5 I/O backend using the JHDF library.
Available when io.jhdf.HdfFile is on the classpath.
Provides hierarchical data format (HDF5) read/write support as a
discoverable Episteme backend.
- Since:
- 2.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates and returns the backend instance (or returns self if it is the backend).Creates an execution context for running operations.Returns the type of hardware accelerator used by this backend.Returns a description of the backend.getId()Returns the unique identifier for this backend (e.g., "javafx", "jmol", "cuda").getName()Returns the display name for UI presentation.intReturns the priority for auto-selection (higher = preferred).getType()Returns the backend type category (e.g., "plotting", "molecular", "tensor", "math").booleanChecks if this backend is currently available (libraries loaded, etc.).booleanChecks if this backend supports complex number arithmetic.booleanChecks if this backend supports floating-point arithmetic.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Backend
getAlgorithmProviders, getStatusMessage, isExplicitlyDisabled, shutdownMethods inherited from interface ComputeBackend
supportsParallelOps
-
Constructor Details
-
HDF5IOBackend
public HDF5IOBackend()
-
-
Method Details
-
getType
-
getId
-
getName
-
getDescription
Description copied from interface:BackendReturns a description of the backend.- Specified by:
getDescriptionin interfaceBackend- Specified by:
getDescriptionin interfaceComputeBackend
-
isAvailable
public boolean isAvailable()Description copied from interface:BackendChecks if this backend is currently available (libraries loaded, etc.).Default implementation checks
Backend.isExplicitlyDisabled()and returns false if it is.- Specified by:
isAvailablein interfaceBackend
-
getPriority
public int getPriority()Description copied from interface:BackendReturns the priority for auto-selection (higher = preferred). Used when multiple backends are available.- Specified by:
getPriorityin interfaceBackend
-
getAcceleratorType
Description copied from interface:ComputeBackendReturns the type of hardware accelerator used by this backend.- Specified by:
getAcceleratorTypein interfaceComputeBackend- Returns:
- the accelerator type
-
createContext
Description copied from interface:ComputeBackendCreates an execution context for running operations.The context should be used within a try-with-resources block to ensure proper cleanup of resources.
- Specified by:
createContextin interfaceComputeBackend- Returns:
- new execution context
-
createBackend
Description copied from interface:BackendCreates and returns the backend instance (or returns self if it is the backend).- Specified by:
createBackendin interfaceBackend- Specified by:
createBackendin interfaceComputeBackend- Returns:
- The backend implementation object
-
supportsFloatingPoint
public 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
public 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
-