MimIR
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.default_stream
104///@{
106};
107
108///@}
109
110/// @name %%gpu.init
111///@{
112enum class init : flags_t {
113};
114
115///@}
116
117/// @name %%gpu.deinit
118///@{
119enum class deinit : flags_t {
120};
121
122///@}
123
124/// @name %%gpu.stream_init
125///@{
126enum class stream_init : flags_t {
127};
128
129///@}
130
131/// @name %%gpu.stream_deinit
132///@{
133enum class stream_deinit : flags_t {
134};
135
136///@}
137
138/// @name %%gpu.stream_sync
139///@{
140enum class stream_sync : flags_t {
141};
142
143///@}
144
145/// @name %%gpu.with_streams
146///@{
147enum class with_streams : flags_t {
148};
149
150///@}
151
152/// @name %%gpu.alloc
153///@{
154enum class alloc : flags_t {
155 block = 0x2115800000001400,
156 asyn = 0x2115800000001401,
157};
158
159///@}
160
161/// @name %%gpu.free
162///@{
163enum class free : flags_t {
164 block = 0x2115800000001500,
165 asyn = 0x2115800000001501,
166};
167
168///@}
169
170/// @name %%gpu.copy_to_device
171///@{
173 block = 0x2115800000001600,
174 asyn = 0x2115800000001601,
175};
176
177///@}
178
179/// @name %%gpu.copy_to_host
180///@{
181enum class copy_to_host : flags_t {
182 block = 0x2115800000001700,
183 asyn = 0x2115800000001701,
184};
185
186///@}
187
188/// @name %%gpu.alloc_copy
189///@{
190enum class alloc_copy : flags_t {
191 block = 0x2115800000001800,
192 asyn = 0x2115800000001801,
193};
194
195///@}
196
197/// @name %%gpu.launch
198///@{
199enum class launch : flags_t {
200};
201
202///@}
203
204/// @name %%gpu.sync_work_items
205///@{
207};
208
209///@}
210
211/// @name %%gpu.synced_scope
212///@{
213enum class synced_scope : flags_t {
214};
215
216///@}
217
218/// @name %%gpu.check_addr_spaces_repl
219///@{
221};
222
223///@}
224
225/// @name %%gpu.host_malloc2gpualloc_repl
226///@{
229
230///@}
231
232/// @name %%gpu.mem_checks
233///@{
234enum class mem_checks : flags_t {
235};
236
237///@}
238
239/// @name %%gpu.remove_double_syncs
240///@{
242};
243
244///@}
245
246/// @name %%gpu.split_apply
247///@{
248enum class split_apply : flags_t {
249};
250
251///@}
252
253/// @name %%gpu.host_specific_phases
254///@{
256};
257
258///@}
259
260/// @name %%gpu.device_specific_phases
261///@{
263};
264
265///@}
266
267} // namespace plug::gpu
268
269#ifndef DOXYGEN // don't include in Doxygen documentation
270
271template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_global> = 0x2115800000000000;
272template<> constexpr size_t Annex::Num<plug::gpu::addr_space_global> = 0;
273template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_shared> = 0x2115800000000100;
274template<> constexpr size_t Annex::Num<plug::gpu::addr_space_shared> = 0;
275template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_const> = 0x2115800000000200;
276template<> constexpr size_t Annex::Num<plug::gpu::addr_space_const> = 0;
277template<> constexpr flags_t Annex::Base<plug::gpu::addr_space_local> = 0x2115800000000300;
278template<> constexpr size_t Annex::Num<plug::gpu::addr_space_local> = 0;
279template<> constexpr flags_t Annex::Base<plug::gpu::GlobalM> = 0x2115800000000400;
280template<> constexpr size_t Annex::Num<plug::gpu::GlobalM> = 0;
281template<> constexpr flags_t Annex::Base<plug::gpu::SharedM> = 0x2115800000000500;
282template<> constexpr size_t Annex::Num<plug::gpu::SharedM> = 0;
283template<> constexpr flags_t Annex::Base<plug::gpu::ConstM> = 0x2115800000000600;
284template<> constexpr size_t Annex::Num<plug::gpu::ConstM> = 0;
285template<> constexpr flags_t Annex::Base<plug::gpu::LocalM> = 0x2115800000000700;
286template<> constexpr size_t Annex::Num<plug::gpu::LocalM> = 0;
287template<> constexpr flags_t Annex::Base<plug::gpu::GlobalPtr> = 0x2115800000000800;
288template<> constexpr size_t Annex::Num<plug::gpu::GlobalPtr> = 0;
289template<> constexpr flags_t Annex::Base<plug::gpu::SharedPtr> = 0x2115800000000900;
290template<> constexpr size_t Annex::Num<plug::gpu::SharedPtr> = 0;
291template<> constexpr flags_t Annex::Base<plug::gpu::ConstPtr> = 0x2115800000000a00;
292template<> constexpr size_t Annex::Num<plug::gpu::ConstPtr> = 0;
293template<> constexpr flags_t Annex::Base<plug::gpu::LocalPtr> = 0x2115800000000b00;
294template<> constexpr size_t Annex::Num<plug::gpu::LocalPtr> = 0;
295template<> constexpr flags_t Annex::Base<plug::gpu::Stream> = 0x2115800000000c00;
296template<> constexpr size_t Annex::Num<plug::gpu::Stream> = 0;
297template<> constexpr flags_t Annex::Base<plug::gpu::default_stream> = 0x2115800000000d00;
298template<> constexpr size_t Annex::Num<plug::gpu::default_stream> = 0;
299template<> constexpr flags_t Annex::Base<plug::gpu::init> = 0x2115800000000e00;
300template<> constexpr size_t Annex::Num<plug::gpu::init> = 0;
301template<> constexpr flags_t Annex::Base<plug::gpu::deinit> = 0x2115800000000f00;
302template<> constexpr size_t Annex::Num<plug::gpu::deinit> = 0;
303template<> constexpr flags_t Annex::Base<plug::gpu::stream_init> = 0x2115800000001000;
304template<> constexpr size_t Annex::Num<plug::gpu::stream_init> = 0;
305template<> constexpr flags_t Annex::Base<plug::gpu::stream_deinit> = 0x2115800000001100;
306template<> constexpr size_t Annex::Num<plug::gpu::stream_deinit> = 0;
307template<> constexpr flags_t Annex::Base<plug::gpu::stream_sync> = 0x2115800000001200;
308template<> constexpr size_t Annex::Num<plug::gpu::stream_sync> = 0;
309template<> constexpr flags_t Annex::Base<plug::gpu::with_streams> = 0x2115800000001300;
310template<> constexpr size_t Annex::Num<plug::gpu::with_streams> = 0;
311template<> constexpr flags_t Annex::Base<plug::gpu::alloc> = 0x2115800000001400;
312template<> constexpr size_t Annex::Num<plug::gpu::alloc> = 2;
313template<> constexpr flags_t Annex::Base<plug::gpu::free> = 0x2115800000001500;
314template<> constexpr size_t Annex::Num<plug::gpu::free> = 2;
315template<> constexpr flags_t Annex::Base<plug::gpu::copy_to_device> = 0x2115800000001600;
316template<> constexpr size_t Annex::Num<plug::gpu::copy_to_device> = 2;
317template<> constexpr flags_t Annex::Base<plug::gpu::copy_to_host> = 0x2115800000001700;
318template<> constexpr size_t Annex::Num<plug::gpu::copy_to_host> = 2;
319template<> constexpr flags_t Annex::Base<plug::gpu::alloc_copy> = 0x2115800000001800;
320template<> constexpr size_t Annex::Num<plug::gpu::alloc_copy> = 2;
321template<> constexpr flags_t Annex::Base<plug::gpu::launch> = 0x2115800000001900;
322template<> constexpr size_t Annex::Num<plug::gpu::launch> = 0;
323template<> constexpr flags_t Annex::Base<plug::gpu::sync_work_items> = 0x2115800000001a00;
324template<> constexpr size_t Annex::Num<plug::gpu::sync_work_items> = 0;
325template<> constexpr flags_t Annex::Base<plug::gpu::synced_scope> = 0x2115800000001b00;
326template<> constexpr size_t Annex::Num<plug::gpu::synced_scope> = 0;
327template<> constexpr flags_t Annex::Base<plug::gpu::check_addr_spaces_repl> = 0x2115800000001c00;
328template<> constexpr size_t Annex::Num<plug::gpu::check_addr_spaces_repl> = 0;
329template<> constexpr flags_t Annex::Base<plug::gpu::host_malloc2gpualloc_repl> = 0x2115800000001d00;
330template<> constexpr size_t Annex::Num<plug::gpu::host_malloc2gpualloc_repl> = 0;
331template<> constexpr flags_t Annex::Base<plug::gpu::mem_checks> = 0x2115800000001e00;
332template<> constexpr size_t Annex::Num<plug::gpu::mem_checks> = 0;
333template<> constexpr flags_t Annex::Base<plug::gpu::remove_double_syncs> = 0x2115800000001f00;
334template<> constexpr size_t Annex::Num<plug::gpu::remove_double_syncs> = 0;
335template<> constexpr flags_t Annex::Base<plug::gpu::split_apply> = 0x2115800000002000;
336template<> constexpr size_t Annex::Num<plug::gpu::split_apply> = 0;
337template<> constexpr flags_t Annex::Base<plug::gpu::host_specific_phases> = 0x2115800000002100;
338template<> constexpr size_t Annex::Num<plug::gpu::host_specific_phases> = 0;
339template<> constexpr flags_t Annex::Base<plug::gpu::device_specific_phases> = 0x2115800000002200;
340template<> constexpr size_t Annex::Num<plug::gpu::device_specific_phases> = 0;
341
342template<> struct Axm::IsANode<plug::gpu::addr_space_global> { using type = Axm; };
343template<> struct Axm::IsANode<plug::gpu::addr_space_shared> { using type = Axm; };
344template<> struct Axm::IsANode<plug::gpu::addr_space_const> { using type = Axm; };
345template<> struct Axm::IsANode<plug::gpu::addr_space_local> { using type = Axm; };
346template<> struct Axm::IsANode<plug::gpu::GlobalM> { using type = Axm; };
347template<> struct Axm::IsANode<plug::gpu::SharedM> { using type = Axm; };
348template<> struct Axm::IsANode<plug::gpu::ConstM> { using type = Axm; };
349template<> struct Axm::IsANode<plug::gpu::LocalM> { using type = Axm; };
350template<> struct Axm::IsANode<plug::gpu::GlobalPtr> { using type = Axm; };
351template<> struct Axm::IsANode<plug::gpu::SharedPtr> { using type = Axm; };
352template<> struct Axm::IsANode<plug::gpu::ConstPtr> { using type = Axm; };
353template<> struct Axm::IsANode<plug::gpu::LocalPtr> { using type = Axm; };
354template<> struct Axm::IsANode<plug::gpu::Stream> { using type = Axm; };
355template<> struct Axm::IsANode<plug::gpu::default_stream> { using type = Axm; };
356template<> struct Axm::IsANode<plug::gpu::with_streams> { using type = Axm; };
357template<> struct Axm::IsANode<plug::gpu::alloc_copy> { using type = Axm; };
358template<> struct Axm::IsANode<plug::gpu::synced_scope> { using type = Axm; };
359template<> struct Axm::IsANode<plug::gpu::check_addr_spaces_repl> { using type = Axm; };
360template<> struct Axm::IsANode<plug::gpu::host_malloc2gpualloc_repl> { using type = Axm; };
361template<> struct Axm::IsANode<plug::gpu::mem_checks> { using type = Axm; };
362template<> struct Axm::IsANode<plug::gpu::remove_double_syncs> { using type = Axm; };
363template<> struct Axm::IsANode<plug::gpu::split_apply> { using type = Axm; };
364template<> struct Axm::IsANode<plug::gpu::host_specific_phases> { using type = Axm; };
365template<> struct Axm::IsANode<plug::gpu::device_specific_phases> { using type = Axm; };
366
367#endif
368} // namespace mim
369
370#ifndef DOXYGEN // don't include in Doxygen documentation
371
372template<> struct fe::is_bit_enum<mim::plug::gpu::alloc> : std::true_type {};
373template<> struct fe::is_bit_enum<mim::plug::gpu::free> : std::true_type {};
374template<> struct fe::is_bit_enum<mim::plug::gpu::copy_to_device> : std::true_type {};
375template<> struct fe::is_bit_enum<mim::plug::gpu::copy_to_host> : std::true_type {};
376template<> struct fe::is_bit_enum<mim::plug::gpu::alloc_copy> : std::true_type {};
377
378#endif
Definition axm.h:9
The gpu Plugin
Definition mem_checks.h:7
static constexpr plugin_t Plugin_Id
Definition autogen.h:10
host_malloc2gpualloc_repl
Definition autogen.h:227
Definition ast.h:14
u64 flags_t
Definition types.h:39
u64 plugin_t
Definition types.h:40
@ Axm
Definition def.h:109
static constexpr size_t Num
Number of Axm::subtags.
Definition plugin.h:147
static constexpr flags_t Base
Definition plugin.h:148