MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autogen.h
Go to the documentation of this file.
1#pragma once
2
3#include <mim/axm.h>
4#include <mim/plugin.h>
5
6/// @namespace mim::plug::gpu @ref gpu
7namespace mim {
8namespace plug::gpu {
9
10static constexpr plugin_t Plugin_Id = 0x2115800000000000;
11
12/// @name %%gpu.addr_space_global
13///@{
15};
16
17///@}
18
19/// @name %%gpu.addr_space_shared
20///@{
22};
23
24///@}
25
26/// @name %%gpu.addr_space_const
27///@{
29};
30
31///@}
32
33/// @name %%gpu.addr_space_local
34///@{
36};
37
38///@}
39
40/// @name %%gpu.GlobalM
41///@{
42enum class GlobalM : flags_t {
43};
44
45///@}
46
47/// @name %%gpu.SharedM
48///@{
49enum class SharedM : flags_t {
50};
51
52///@}
53
54/// @name %%gpu.ConstM
55///@{
56enum class ConstM : flags_t {
57};
58
59///@}
60
61/// @name %%gpu.LocalM
62///@{
63enum class LocalM : flags_t {
64};
65
66///@}
67
68/// @name %%gpu.GlobalPtr
69///@{
70enum class GlobalPtr : flags_t {
71};
72
73///@}
74
75/// @name %%gpu.SharedPtr
76///@{
77enum class SharedPtr : flags_t {
78};
79
80///@}
81
82/// @name %%gpu.ConstPtr
83///@{
84enum class ConstPtr : flags_t {
85};
86
87///@}
88
89/// @name %%gpu.LocalPtr
90///@{
91enum class LocalPtr : flags_t {
92};
93
94///@}
95
96/// @name %%gpu.Stream
97///@{
98enum class Stream : flags_t {
99};
100
101///@}
102
103/// @name %%gpu.DefaultStream
104///@{
105enum class DefaultStream : flags_t {
106};
107
108///@}
109
110/// @name %%gpu.stream_init
111///@{
112enum class stream_init : flags_t {
113};
114
115///@}
116
117/// @name %%gpu.stream_deinit
118///@{
119enum class stream_deinit : flags_t {
120};
121
122///@}
123
124/// @name %%gpu.stream_sync
125///@{
126enum class stream_sync : flags_t {
127};
128
129///@}
130
131/// @name %%gpu.alloc
132///@{
133enum class alloc : flags_t {
134};
135
136///@}
137
138/// @name %%gpu.free
139///@{
140enum class free : flags_t {
141};
142
143///@}
144
145/// @name %%gpu.copy_to_device
146///@{
148};
149
150///@}
151
152/// @name %%gpu.copy_to_host
153///@{
154enum class copy_to_host : flags_t {
155};
156
157///@}
158
159/// @name %%gpu.alloc_copy
160///@{
161enum class alloc_copy : flags_t {
162};
163
164///@}
165
166/// @name %%gpu.alloc_async
167///@{
168enum class alloc_async : flags_t {
169};
170
171///@}
172
173/// @name %%gpu.free_async
174///@{
175enum class free_async : flags_t {
176};
177
178///@}
179
180/// @name %%gpu.copy_to_device_async
181///@{
183};
184
185///@}
186
187/// @name %%gpu.copy_to_host_async
188///@{
190};
191
192///@}
193
194/// @name %%gpu.alloc_copy_async
195///@{
197};
198
199///@}
200
201/// @name %%gpu.launch
202///@{
203enum class launch : flags_t {
204};
205
206///@}
207
208/// @name %%gpu.launch_with_smem
209///@{
211};
212
213///@}
214
215/// @name %%gpu.sync_work_items
216///@{
218};
219
220///@}
221
222/// @name %%gpu.synced_scope
223///@{
224enum class synced_scope : flags_t {
225};
226
227///@}
228
229/// @name %%gpu.malloc2gpualloc_repl
230///@{
232};
233
234///@}
235
236} // namespace plug::gpu
237
238#ifndef DOXYGEN // don't include in Doxygen documentation
239
240template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_global> = 0x2115800000000000;
241template<> constexpr size_t Annex::Num<plug::gpu::addr_space_global> = 0;
242template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_shared> = 0x2115800000000100;
243template<> constexpr size_t Annex::Num<plug::gpu::addr_space_shared> = 0;
244template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_const> = 0x2115800000000200;
245template<> constexpr size_t Annex::Num<plug::gpu::addr_space_const> = 0;
246template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_local> = 0x2115800000000300;
247template<> constexpr size_t Annex::Num<plug::gpu::addr_space_local> = 0;
248template<> constexpr flags_t Annex::Base<plug::gpu::GlobalM> = 0x2115800000000400;
249template<> constexpr size_t Annex::Num<plug::gpu::GlobalM> = 0;
250template<> constexpr flags_t Annex::Base<plug::gpu::SharedM> = 0x2115800000000500;
251template<> constexpr size_t Annex::Num<plug::gpu::SharedM> = 0;
252template<> constexpr flags_t Annex::Base<plug::gpu::ConstM> = 0x2115800000000600;
253template<> constexpr size_t Annex::Num<plug::gpu::ConstM> = 0;
254template<> constexpr flags_t Annex::Base<plug::gpu::LocalM> = 0x2115800000000700;
255template<> constexpr size_t Annex::Num<plug::gpu::LocalM> = 0;
256template<> constexpr flags_t Annex::Base<plug::gpu::GlobalPtr> = 0x2115800000000800;
257template<> constexpr size_t Annex::Num<plug::gpu::GlobalPtr> = 0;
258template<> constexpr flags_t Annex::Base<plug::gpu::SharedPtr> = 0x2115800000000900;
259template<> constexpr size_t Annex::Num<plug::gpu::SharedPtr> = 0;
260template<> constexpr flags_t Annex::Base<plug::gpu::ConstPtr> = 0x2115800000000a00;
261template<> constexpr size_t Annex::Num<plug::gpu::ConstPtr> = 0;
262template<> constexpr flags_t Annex::Base<plug::gpu::LocalPtr> = 0x2115800000000b00;
263template<> constexpr size_t Annex::Num<plug::gpu::LocalPtr> = 0;
264template<> constexpr flags_t Annex::Base<plug::gpu::Stream> = 0x2115800000000c00;
265template<> constexpr size_t Annex::Num<plug::gpu::Stream> = 0;
266template<> constexpr flags_t Annex::Base<plug::gpu::DefaultStream> = 0x2115800000000d00;
267template<> constexpr size_t Annex::Num<plug::gpu::DefaultStream> = 0;
268template<> constexpr flags_t Annex::Base<plug::gpu::stream_init> = 0x2115800000000e00;
269template<> constexpr size_t Annex::Num<plug::gpu::stream_init> = 0;
270template<> constexpr flags_t Annex::Base<plug::gpu::stream_deinit> = 0x2115800000000f00;
271template<> constexpr size_t Annex::Num<plug::gpu::stream_deinit> = 0;
272template<> constexpr flags_t Annex::Base<plug::gpu::stream_sync> = 0x2115800000001000;
273template<> constexpr size_t Annex::Num<plug::gpu::stream_sync> = 0;
274template<> constexpr flags_t Annex::Base<plug::gpu::alloc> = 0x2115800000001100;
275template<> constexpr size_t Annex::Num<plug::gpu::alloc> = 0;
276template<> constexpr flags_t Annex::Base<plug::gpu::free> = 0x2115800000001200;
277template<> constexpr size_t Annex::Num<plug::gpu::free> = 0;
278template<> constexpr flags_t Annex::Base<plug::gpu::copy_to_device> = 0x2115800000001300;
279template<> constexpr size_t Annex::Num<plug::gpu::copy_to_device> = 0;
280template<> constexpr flags_t Annex::Base<plug::gpu::copy_to_host> = 0x2115800000001400;
281template<> constexpr size_t Annex::Num<plug::gpu::copy_to_host> = 0;
282template<> constexpr flags_t Annex::Base<plug::gpu::alloc_copy> = 0x2115800000001500;
283template<> constexpr size_t Annex::Num<plug::gpu::alloc_copy> = 0;
284template<> constexpr flags_t Annex::Base<plug::gpu::alloc_async> = 0x2115800000001600;
285template<> constexpr size_t Annex::Num<plug::gpu::alloc_async> = 0;
286template<> constexpr flags_t Annex::Base<plug::gpu::free_async> = 0x2115800000001700;
287template<> constexpr size_t Annex::Num<plug::gpu::free_async> = 0;
288template<> constexpr flags_t Annex::Base<plug::gpu::copy_to_device_async> = 0x2115800000001800;
289template<> constexpr size_t Annex::Num<plug::gpu::copy_to_device_async> = 0;
290template<> constexpr flags_t Annex::Base<plug::gpu::copy_to_host_async> = 0x2115800000001900;
291template<> constexpr size_t Annex::Num<plug::gpu::copy_to_host_async> = 0;
292template<> constexpr flags_t Annex::Base<plug::gpu::alloc_copy_async> = 0x2115800000001a00;
293template<> constexpr size_t Annex::Num<plug::gpu::alloc_copy_async> = 0;
294template<> constexpr flags_t Annex::Base<plug::gpu::launch> = 0x2115800000001b00;
295template<> constexpr size_t Annex::Num<plug::gpu::launch> = 0;
296template<> constexpr flags_t Annex::Base<plug::gpu::launch_with_smem> = 0x2115800000001c00;
297template<> constexpr size_t Annex::Num<plug::gpu::launch_with_smem> = 0;
298template<> constexpr flags_t Annex::Base<plug::gpu::sync_work_items> = 0x2115800000001d00;
299template<> constexpr size_t Annex::Num<plug::gpu::sync_work_items> = 0;
300template<> constexpr flags_t Annex::Base<plug::gpu::synced_scope> = 0x2115800000001e00;
301template<> constexpr size_t Annex::Num<plug::gpu::synced_scope> = 0;
302template<> constexpr flags_t Annex::Base<plug::gpu::malloc2gpualloc_repl> = 0x2115800000001f00;
303template<> constexpr size_t Annex::Num<plug::gpu::malloc2gpualloc_repl> = 0;
304
305template<> struct Axm::IsANode<plug::gpu::addr_space_global> { using type = Axm; };
306template<> struct Axm::IsANode<plug::gpu::addr_space_shared> { using type = Axm; };
307template<> struct Axm::IsANode<plug::gpu::addr_space_const> { using type = Axm; };
308template<> struct Axm::IsANode<plug::gpu::addr_space_local> { using type = Axm; };
309template<> struct Axm::IsANode<plug::gpu::GlobalM> { using type = Axm; };
310template<> struct Axm::IsANode<plug::gpu::SharedM> { using type = Axm; };
311template<> struct Axm::IsANode<plug::gpu::ConstM> { using type = Axm; };
312template<> struct Axm::IsANode<plug::gpu::LocalM> { using type = Axm; };
313template<> struct Axm::IsANode<plug::gpu::GlobalPtr> { using type = Axm; };
314template<> struct Axm::IsANode<plug::gpu::SharedPtr> { using type = Axm; };
315template<> struct Axm::IsANode<plug::gpu::ConstPtr> { using type = Axm; };
316template<> struct Axm::IsANode<plug::gpu::LocalPtr> { using type = Axm; };
317template<> struct Axm::IsANode<plug::gpu::Stream> { using type = Axm; };
318template<> struct Axm::IsANode<plug::gpu::DefaultStream> { using type = Axm; };
319template<> struct Axm::IsANode<plug::gpu::alloc_copy> { using type = Axm; };
320template<> struct Axm::IsANode<plug::gpu::alloc_copy_async> { using type = Axm; };
321template<> struct Axm::IsANode<plug::gpu::synced_scope> { using type = Axm; };
322template<> struct Axm::IsANode<plug::gpu::malloc2gpualloc_repl> { using type = Axm; };
323
324#endif
325} // namespace mim
326
327#ifndef DOXYGEN // don't include in Doxygen documentation
328
329
330#endif
Definition axm.h:9
The gpu Plugin
static constexpr plugin_t Plugin_Id
Definition autogen.h:10
Definition ast.h:14
u64 flags_t
Definition types.h:46
u64 plugin_t
Definition types.h:47
@ Axm
Definition def.h:114
static constexpr size_t Num
Number of Axm::subtags.
Definition plugin.h:116
static constexpr flags_t Base
Definition plugin.h:117