Expand description
Async compute queue for overlapping compute and transfer operations.
Provides a CPU-side task queue where compute jobs can be submitted by
task_id and polled for completion. On the CPU fallback backend, tasks
are executed synchronously on submission; the queue abstraction
future-proofs the API for true async GPU execution when a WGPU device is
available.
§Example
use oximedia_gpu::async_compute::AsyncComputeQueue;
let mut queue = AsyncComputeQueue::new();
queue.submit(1, vec![0x01, 0x02]);
let result = queue.poll(1);
assert!(result.is_some());
assert_eq!(result.unwrap(), vec![0x01, 0x02]);
// Polling a second time returns None (result already consumed).
assert!(queue.poll(1).is_none());Structs§
- Async
Compute Queue - Lightweight async compute task queue.
Enums§
- Task
State - Lifecycle state of a submitted compute task.