Skip to main content

Module async_compute

Module async_compute 

Source
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§

AsyncComputeQueue
Lightweight async compute task queue.

Enums§

TaskState
Lifecycle state of a submitted compute task.