Expand description
Linux io_uring integration. Compiled out on macOS / Windows.
Linux io_uring scaffolding for NVMe → GPU-visible memory streaming.
All items here are gated on cfg(target_os = "linux") and compiled out
on every other platform.
Public surface:
IoUringState- raw syscall + mmap wrapper for the SQ/CQ rings.GpuMappedBuffer- typed wrapper around a GPU-visible memory region: either a registered host-visible mapping or a BAR1 peer-memory allocation.AsyncUringStream- the submission glue: pushes reads into the SQ and advances an atomic tail pointer the megakernel observes.NvmeGpuIngestDriver- publishes completed slots into the megakernelio_queue;new_gpudirectrequires the native NVMe → BAR1 path.
Re-exports§
pub use driver::CompletedIngest;pub use driver::NativeReadPath;pub use driver::NvmeGpuIngestDriver;pub use driver::NvmeGpuIngestTelemetry;pub use gpudirect::encode_nvme_read_sqe;pub use gpudirect::GpuDirectCapability;pub use gpudirect::NVME_CMD_READ;pub use io_loop::MegakernelIoLoop;pub use io_loop::RegisteredIoDestination;pub use pump::UringMegakernelPump;pub use ring::IoUringState;pub use stream::AsyncUringStream;pub use stream::GpuMappedBuffer;pub use stream::Iovec;
Modules§
- driver
- End-to-end ingest driver: file/NVMe -> io_uring -> mapped slot -> io_queue.
- gpudirect
- GPUDirect Storage capability probe + passthrough helper.
- io_loop
- Autonomous IO loop for persistent megakernel.
- pump
- File-read → megakernel ring-slot pump. Linux-only.
- ring
- Raw io_uring orchestrator and syscall wrappers.
- stream
AsyncUringStream- drives io_uring reads into GPU-visible memory and advances the megakernel tail pointer on each completion.