//! KFD — Direct GPU compute via /dev/kfd for AMD RDNA3.
//!
//! No ROCm. No OpenCL. No HIP. Just ioctls.
//!
//! Provides:
//!   - Device discovery and property queries
//!   - VRAM/GTT/Userptr memory allocation with shared address space
//!   - PM4 compute queue submission
//!   - Kernel code object loading and dispatch
//!   - Hand-written RDNA3 ASM kernels: matmul (3100 GFLOP/s), matvec, superlinear
//!
//! Usage:
//!   let dev = HsaDevice::open()?;
//!   let buf = dev.alloc_vram(1024)?;
//!   dev.upload_f32(&buf, &data);
//!   dev.dispatch_matmul(&a, &b, &c, M, N, K)?;

pub mod ioctl;
pub mod memory;
pub mod queue;
pub mod dispatch;
pub mod compute;
mod device;

pub use device::*;
