mod acquisition;
#[cfg(feature = "gpu")]
mod resident_evidence;
#[cfg(all(test, feature = "gpu", target_os = "linux"))]
pub(crate) use acquisition::load_dynamic_library;
#[cfg(all(feature = "gpu", target_os = "linux"))]
pub(crate) use acquisition::probe_cuda_peer;
pub use acquisition::GpuBackendAvailability;
#[cfg(feature = "gpu")]
pub use acquisition::{
acquire_ordered_gpu_device_set, enumerate_gpu_device_census, AcquiredGpuDeviceSet,
};
pub(crate) use acquisition::{GpuBackendAcquisitionFailure, GpuBackendPeers, SelectedGpuPeer};
#[cfg(feature = "gpu")]
pub(crate) use resident_evidence::{
gpu_resident_literal_required_device_bytes, scan_gpu_literal_evidence_by_region_resident,
GpuResidentLiteralOverlap, GpuResidentLiteralSlot,
};
#[cfg(all(test, feature = "gpu"))]
pub(crate) use resident_evidence::{
reset_test_max_in_flight_slots, test_max_in_flight_slots, with_test_resident_dispatch_failure,
};
#[cfg(all(test, feature = "gpu"))]
use acquisition::lazy_acquire;
#[cfg(all(test, feature = "gpu", target_os = "linux"))]
use acquisition::run_cuda_after_preflight;
#[cfg(all(test, feature = "gpu"))]
use std::sync::OnceLock;
#[cfg(all(test, feature = "gpu"))]
#[path = "../../tests/unit/gpu_backend.rs"]
mod tests;