Skip to main content

Module queue

Module queue 

Source
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.
ExecParams
Kernel execution parameters.

Traits§

HardwareQueue
Hardware command queue for submitting operations to a device.
Program
Compiled program that can be executed on a queue.
QueueFactory
Factory for creating hardware queues.