pub struct Config { /* private fields */ }Expand description
One point in a kernel’s configuration space: a total assignment of every declared dimension. Dimensions are kept sorted by name, which is what makes the canonical ID canonical.
Implementations§
Source§impl Config
impl Config
pub fn kernel(&self) -> &str
pub fn get(&self, dim: &str) -> Option<&Value>
pub fn values(&self) -> impl Iterator<Item = (&str, &Value)>
Sourcepub fn block_threads(&self) -> u64
pub fn block_threads(&self) -> u64
Total threads per block implied by this configuration. Absent block dimensions default to 1, matching CUDA launch semantics.
Sourcepub fn id(&self) -> ConfigId
pub fn id(&self) -> ConfigId
The canonical, stable ID: a versioned SHA-256 over the kernel name
and the sorted dimension assignments. Changing the encoding is a
breaking change and must bump the config.v1 tag.
Sourcepub fn spec_key(&self, spec: &KernelSpec) -> String
pub fn spec_key(&self, spec: &KernelSpec) -> String
Only the compile-time specialization dimensions, sorted. Candidates sharing this key share generated source, and therefore share one reconverge verdict and one compiled artifact.
Trait Implementations§
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.