pub enum TensorMapSwizzle {
None,
B32,
B64,
B128,
B128Atom32B,
B128Atom32BFlip8B,
B128Atom64B,
}Expand description
Data are organized in a specific order in global memory; however, this may not match the order
in which the application accesses data in shared memory. This difference in data organization
may cause bank conflicts when shared memory is accessed. In order to avoid this problem, data
can be loaded to shared memory with shuffling across shared memory banks. When interleave is
TensorMapInterleave::B32, swizzle must be TensorMapSwizzle::B32.
Other interleave modes can have any swizzling pattern.
Variants§
None
No swizzling
B32
Swizzle 16B chunks within 32B span
B64
Swizzle 16B chunks within 64B span
B128
Swizzle 16B chunks within 128B span
B128Atom32B
Swizzle 32B chunks within 128B span
B128Atom32BFlip8B
Swizzle 32B chunks within 128B span, additionally swap lower 8B with upper 8B within each 16B for every alternate row
B128Atom64B
Swizzle 64B chunks within 128B span
Trait Implementations§
Source§impl Clone for TensorMapSwizzle
impl Clone for TensorMapSwizzle
Source§fn clone(&self) -> TensorMapSwizzle
fn clone(&self) -> TensorMapSwizzle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TensorMapSwizzle
impl Debug for TensorMapSwizzle
Source§impl Default for TensorMapSwizzle
impl Default for TensorMapSwizzle
Source§fn default() -> TensorMapSwizzle
fn default() -> TensorMapSwizzle
Source§impl<'de> Deserialize<'de> for TensorMapSwizzle
impl<'de> Deserialize<'de> for TensorMapSwizzle
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TensorMapSwizzle, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TensorMapSwizzle, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Hash for TensorMapSwizzle
impl Hash for TensorMapSwizzle
Source§impl PartialEq for TensorMapSwizzle
impl PartialEq for TensorMapSwizzle
Source§impl Serialize for TensorMapSwizzle
impl Serialize for TensorMapSwizzle
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for TensorMapSwizzle
impl Eq for TensorMapSwizzle
impl StructuralPartialEq for TensorMapSwizzle
Auto Trait Implementations§
impl Freeze for TensorMapSwizzle
impl RefUnwindSafe for TensorMapSwizzle
impl Send for TensorMapSwizzle
impl Sync for TensorMapSwizzle
impl Unpin for TensorMapSwizzle
impl UnwindSafe for TensorMapSwizzle
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
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.