Expand description
Hardware command queue abstraction for parallel execution.
This module provides a device-agnostic interface for command queues, abstracting over CUDA streams, Metal command buffers, CPU task queues, etc.
§Design
The HardwareQueue trait uses a builder pattern for chaining operations:
ⓘ
queue
.wait(&signal, 1) // Wait for dependency
.exec(&kernel, &bufs) // Execute kernel
.signal(&signal, 2) // Signal completion
.submit()?; // Submit to hardware§Queue Types
Most devices have two queue types:
- Compute queue: For kernel execution
- Copy queue: For DMA transfers (optional, some devices share)
Structs§
- DynQueue
- Type-erased queue for use in the unified executor.
- Exec
Params - Kernel execution parameters.
Traits§
- Hardware
Queue - Hardware command queue for submitting operations to a device.
- Program
- Compiled program that can be executed on a queue.
- Queue
Factory - Factory for creating hardware queues.