pub struct HardwareProperties {
pub plane_size_min: u32,
pub plane_size_max: u32,
pub max_bindings: u32,
pub max_shared_memory_size: usize,
pub max_cube_count: CubeCount,
pub max_units_per_cube: u32,
pub max_cube_dim: CubeDim,
pub num_streaming_multiprocessors: Option<u32>,
pub num_tensor_cores: Option<u32>,
pub min_tensor_cores_dim: Option<u32>,
}
Expand description
Properties of the device related to the accelerator hardware.
§Plane size min/max
This is a range of possible values for the plane size.
For Nvidia GPUs and HIP, this is a single fixed value.
For wgpu with AMD GPUs this is a range of possible values, but the actual configured value is undefined and can only be queried at runtime. Should usually be 32, but not guaranteed.
For Intel GPUs, this is variable based on the number of registers used in the kernel. No way to query this at compile time is currently available. As a result, the minimum value should usually be assumed.
Fields§
§plane_size_min: u32
The minimum size of a plane on this device
plane_size_max: u32
The maximum size of a plane on this device
max_bindings: u32
minimum number of bindings for a kernel that can be used at once.
Maximum amount of shared memory, in bytes
max_cube_count: CubeCount
Maximum CubeCount
in x, y and z dimensions
max_units_per_cube: u32
Maximum number of total units in a cube
max_cube_dim: CubeDim
Maximum CubeDim
in x, y, and z dimensions
num_streaming_multiprocessors: Option<u32>
Number of streaming multiprocessors (SM), if available
num_tensor_cores: Option<u32>
Number of tensor cores per SM, if any
min_tensor_cores_dim: Option<u32>
The minimum tiling dimension for a single axis in tensor cores.
For a backend that only supports 16x16x16, the value would be 16. For a backend that also supports 32x8x16, the value would be 8.
Trait Implementations§
Source§impl Clone for HardwareProperties
impl Clone for HardwareProperties
Source§fn clone(&self) -> HardwareProperties
fn clone(&self) -> HardwareProperties
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more