cubecl_ir/
synchronization.rs1use core::fmt::Display;
2
3use crate::{OperationReflect, TypeHash};
4
5#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
7#[derive(Debug, Clone, TypeHash, PartialEq, Eq, Hash, OperationReflect)]
8#[operation(opcode_name = SyncOpCode)]
9#[allow(missing_docs)]
10pub enum Synchronization {
11 SyncCube,
13 SyncPlane,
15 SyncStorage,
16 SyncProxyShared,
19}
20
21impl Display for Synchronization {
22 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
23 match self {
24 Synchronization::SyncCube => write!(f, "sync_cube()"),
25 Synchronization::SyncStorage => write!(f, "sync_storage()"),
26 Synchronization::SyncProxyShared => write!(f, "sync_proxy_shared()"),
27 Synchronization::SyncPlane => write!(f, "sync_plane()"),
28 }
29 }
30}