#[cfg(feature = "custom-hardware")]
pub mod example_npu;
#[cfg(feature = "custom-hardware")]
pub mod example_tpu;
#[cfg(feature = "custom-hardware")]
pub mod registry;
#[cfg(feature = "custom-hardware")]
pub mod traits;
#[cfg(feature = "custom-hardware")]
pub use example_npu::{NpuConfig, NpuProvider, create_npu_provider};
#[cfg(feature = "custom-hardware")]
pub use example_tpu::{TpuConfig, TpuProvider, create_tpu_provider};
#[cfg(feature = "custom-hardware")]
pub use registry::{CustomProviderRegistry, PluginMetadata, ProviderPlugin};
#[cfg(feature = "custom-hardware")]
pub use traits::{CustomHardwareProvider, CustomKernel, DeviceMemory, HardwareCapability};
#[cfg(not(feature = "custom-hardware"))]
pub fn custom_hardware_not_available() -> anyhow::Result<()> {
anyhow::bail!(
"Custom hardware provider framework not available - enable the 'custom-hardware' feature flag"
)
}