Skip to main content

Module occupancy_ext

Module occupancy_ext 

Source
Expand description

Extended occupancy helpers for CPU-side occupancy estimation.

Unlike the GPU-side queries in crate::occupancy that call cuOccupancy* driver functions, this module provides pure computation for analysing occupancy trade-offs without requiring a live GPU.

§Features

§Example

use oxicuda_driver::occupancy_ext::*;

let info = DeviceOccupancyInfo {
    sm_count: 84,
    max_threads_per_sm: 1536,
    max_blocks_per_sm: 16,
    max_registers_per_sm: 65536,
    max_shared_memory_per_sm: 102400,
    warp_size: 32,
};
let calc = OccupancyCalculator::new(info);
let est = calc.estimate_occupancy(256, 32, 0);
assert!(est.occupancy_ratio > 0.0);

Structs§

ClusterConfig
Thread block cluster configuration for Hopper+ GPUs.
ClusterOccupancy
Hopper+ thread block cluster occupancy estimation.
ClusterOccupancyEstimate
Result of a cluster occupancy estimation.
DeviceOccupancyInfo
Hardware parameters needed for CPU-side occupancy estimation.
DynamicSmemOccupancy
Occupancy estimation where shared memory varies with block size.
OccupancyCalculator
CPU-side occupancy estimator — no GPU calls required.
OccupancyEstimate
Result of a CPU-side occupancy estimation for one configuration.
OccupancyGrid
Sweep block sizes to find the configuration that maximises occupancy.
OccupancyPoint
A single data point from a block-size sweep.

Enums§

LimitingFactor
The resource that limits occupancy the most.