1pub mod batch;
2pub mod budget;
3pub mod config;
4pub mod error;
5pub mod executor;
6pub mod fallback;
7pub mod job;
8pub mod memory;
9pub mod planner;
10pub mod report;
11pub mod resources;
12#[cfg(feature = "shader-gen")]
13pub mod shader;
14#[cfg(feature = "shader-gen")]
15pub mod shader_utils;
16pub mod telemetry;
17
18pub use batch::{pack_by_bytes, BatchSpan, ByteSized, GpuBatchPlan, WorkItem};
19pub use budget::{
20 GpuMemoryBudget, DEFAULT_FILL_RATIO, DEFAULT_SAFE_VRAM_BYTES, MAX_FILL_RATIO, MIN_FILL_RATIO,
21};
22pub use config::{ExecutionMode, ExecutorConfig, ShaderOpt, TelemetrySink};
23pub use error::{ExecutionError, ExecutorInitError, GpuError, GpuFailure};
24pub use executor::GpuExecutor;
25pub use fallback::{run_cpu_fallback, FallbackPolicy};
26pub use job::{
27 BufferRole, ComputeShader, DispatchSize, EncodedBatch, EncodedBuffer, GpuJob, JobError,
28};
29#[cfg(feature = "gpu")]
30pub use memory::{
31 estimate_gpu_memory_availability_from_limits, query_gpu_memory_availability,
32 resolve_gpu_memory_availability,
33};
34pub use memory::{GpuMemoryAvailability, MemoryBudget, GPU_AVAILABLE_BYTES_ENV};
35pub use report::{BatchPath, BatchReport, ExecutionPath, JobReport};
36#[cfg(feature = "gpu")]
37pub use resources::{create_mapped_buffer, create_zeroed_buffer, storage_binding};
38pub use resources::{
39 read_u32, u32_slice_bytes, BufferLease, BufferPool, BufferUse, ResourceCache, ResourceEntry,
40};
41#[cfg(feature = "shader-gen")]
42pub use shader::{BindingDesc, ShaderBuilder, WgslField, WgslStruct};
43#[cfg(feature = "shader-gen")]
44pub use shader_utils::{
45 ShaderSource, ShaderSourceBuilder, BATCH_METADATA_STRUCT, COMMON_COMPUTE_UTILS,
46};
47pub use telemetry::{
48 measure_phase, GpuPhase, GpuTelemetry, TelemetryCollector, TelemetryPhase, TelemetryReport,
49};