ptx_parser/type/instruction/
membar.rs1#![allow(unused)]
28use crate::r#type::common::*;
29
30pub mod section_0 {
31 use crate::Spanned;
32 use crate::parser::Span;
33 use crate::r#type::common::*;
34
35 use serde::Serialize;
36
37 #[derive(Debug, Clone, PartialEq, Serialize)]
38 pub enum Sem {
39 AcqRel, Acquire, Release, Sc, }
44
45 #[derive(Debug, Clone, PartialEq, Serialize)]
46 pub enum Scope {
47 Cluster, Cta, Gpu, Sys, }
52
53 #[derive(Debug, Clone, PartialEq, Serialize)]
54 pub enum OpRestrict {
55 MbarrierInit, }
57
58 #[derive(Debug, Clone, PartialEq, Serialize)]
59 pub enum Proxykind {
60 AsyncSharedCluster, AsyncSharedCta, AsyncGlobal, Alias, Async, }
66
67 #[derive(Debug, Clone, PartialEq, Serialize)]
68 pub enum ToProxykindFromProxykind {
69 TensormapGeneric, }
71
72 #[derive(Debug, Clone, PartialEq, Serialize)]
73 pub enum Level {
74 Cta, Sys, Gl, }
78
79 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
80 pub struct FenceSemScope {
81 pub sem: Option<Sem>, pub scope: Scope, pub span: Span,
84 }
85
86 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
87 pub struct FenceAcquireSyncRestrictSharedClusterCluster {
88 pub acquire: (), pub sync_restrict_shared_cluster: (), pub cluster: (), pub span: Span,
92 }
93
94 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
95 pub struct FenceReleaseSyncRestrictSharedCtaCluster {
96 pub release: (), pub sync_restrict_shared_cta: (), pub cluster: (), pub span: Span,
100 }
101
102 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
103 pub struct FenceOpRestrictReleaseCluster {
104 pub op_restrict: OpRestrict, pub release: (), pub cluster: (), pub span: Span,
108 }
109
110 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
111 pub struct FenceProxyProxykind {
112 pub proxy: (), pub proxykind: Proxykind, pub span: Span,
115 }
116
117 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
118 pub struct FenceProxyToProxykindFromProxykindReleaseScope {
119 pub proxy: (), pub to_proxykind_from_proxykind: ToProxykindFromProxykind, pub release: (), pub scope: Scope, pub span: Span,
124 }
125
126 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
127 pub struct FenceProxyToProxykindFromProxykindAcquireScope {
128 pub proxy: (), pub to_proxykind_from_proxykind: ToProxykindFromProxykind, pub acquire: (), pub scope: Scope, pub addr: AddressOperand, pub size: GeneralOperand, pub span: Span,
135 }
136
137 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
138 pub struct FenceProxyAsyncGenericAcquireSyncRestrictSharedClusterCluster {
139 pub proxy: (), pub async_generic: (), pub acquire: (), pub sync_restrict_shared_cluster: (), pub cluster: (), pub span: Span,
145 }
146
147 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
148 pub struct FenceProxyAsyncGenericReleaseSyncRestrictSharedCtaCluster {
149 pub proxy: (), pub async_generic: (), pub release: (), pub sync_restrict_shared_cta: (), pub cluster: (), pub span: Span,
155 }
156
157 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
158 pub struct MembarLevel {
159 pub level: Level, pub span: Span,
161 }
162
163 #[derive(Debug, Clone, PartialEq, Spanned, Serialize)]
164 pub struct MembarProxyProxykind {
165 pub proxy: (), pub proxykind: Proxykind, pub span: Span,
168 }
169}
170
171pub use section_0::FenceAcquireSyncRestrictSharedClusterCluster;
174pub use section_0::FenceOpRestrictReleaseCluster;
175pub use section_0::FenceProxyAsyncGenericAcquireSyncRestrictSharedClusterCluster;
176pub use section_0::FenceProxyAsyncGenericReleaseSyncRestrictSharedCtaCluster;
177pub use section_0::FenceProxyProxykind;
178pub use section_0::FenceProxyToProxykindFromProxykindAcquireScope;
179pub use section_0::FenceProxyToProxykindFromProxykindReleaseScope;
180pub use section_0::FenceReleaseSyncRestrictSharedCtaCluster;
181pub use section_0::FenceSemScope;
182pub use section_0::Level as Level0;
183pub use section_0::MembarLevel;
184pub use section_0::MembarProxyProxykind;
185pub use section_0::OpRestrict as OpRestrict0;
186pub use section_0::Proxykind as Proxykind0;
187pub use section_0::Scope as Scope0;
188pub use section_0::Sem as Sem0;
189pub use section_0::ToProxykindFromProxykind as ToProxykindFromProxykind0;