MimIR
0.4-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
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
7
namespace
mim
{
8
namespace
plug::gpu
{
9
10
static
constexpr
plugin_t
Plugin_Id
= 0x2115800000000000;
11
12
/// @name %%gpu.addr_space_global
13
///@{
14
enum class
addr_space_global
:
flags_t
{
15
};
16
17
///@}
18
19
/// @name %%gpu.addr_space_shared
20
///@{
21
enum class
addr_space_shared
:
flags_t
{
22
};
23
24
///@}
25
26
/// @name %%gpu.addr_space_const
27
///@{
28
enum class
addr_space_const
:
flags_t
{
29
};
30
31
///@}
32
33
/// @name %%gpu.addr_space_local
34
///@{
35
enum class
addr_space_local
:
flags_t
{
36
};
37
38
///@}
39
40
/// @name %%gpu.GlobalM
41
///@{
42
enum class
GlobalM
:
flags_t
{
43
};
44
45
///@}
46
47
/// @name %%gpu.SharedM
48
///@{
49
enum class
SharedM
:
flags_t
{
50
};
51
52
///@}
53
54
/// @name %%gpu.ConstM
55
///@{
56
enum class
ConstM
:
flags_t
{
57
};
58
59
///@}
60
61
/// @name %%gpu.LocalM
62
///@{
63
enum class
LocalM
:
flags_t
{
64
};
65
66
///@}
67
68
/// @name %%gpu.GlobalPtr
69
///@{
70
enum class
GlobalPtr
:
flags_t
{
71
};
72
73
///@}
74
75
/// @name %%gpu.SharedPtr
76
///@{
77
enum class
SharedPtr
:
flags_t
{
78
};
79
80
///@}
81
82
/// @name %%gpu.ConstPtr
83
///@{
84
enum class
ConstPtr
:
flags_t
{
85
};
86
87
///@}
88
89
/// @name %%gpu.LocalPtr
90
///@{
91
enum class
LocalPtr
:
flags_t
{
92
};
93
94
///@}
95
96
/// @name %%gpu.Stream
97
///@{
98
enum class
Stream
:
flags_t
{
99
};
100
101
///@}
102
103
/// @name %%gpu.default_stream
104
///@{
105
enum class
default_stream
:
flags_t
{
106
};
107
108
///@}
109
110
/// @name %%gpu.init
111
///@{
112
enum class
init
:
flags_t
{
113
};
114
115
///@}
116
117
/// @name %%gpu.deinit
118
///@{
119
enum class
deinit
:
flags_t
{
120
};
121
122
///@}
123
124
/// @name %%gpu.auto_init
125
///@{
126
enum class
auto_init
:
flags_t
{
127
};
128
129
///@}
130
131
/// @name %%gpu.auto_deinit
132
///@{
133
enum class
auto_deinit
:
flags_t
{
134
};
135
136
///@}
137
138
/// @name %%gpu.stream_init
139
///@{
140
enum class
stream_init
:
flags_t
{
141
};
142
143
///@}
144
145
/// @name %%gpu.stream_deinit
146
///@{
147
enum class
stream_deinit
:
flags_t
{
148
};
149
150
///@}
151
152
/// @name %%gpu.stream_sync
153
///@{
154
enum class
stream_sync
:
flags_t
{
155
};
156
157
///@}
158
159
/// @name %%gpu.with_streams
160
///@{
161
enum class
with_streams
:
flags_t
{
162
};
163
164
///@}
165
166
/// @name %%gpu.alloc
167
///@{
168
enum class
alloc
:
flags_t
{
169
block
= 0x2115800000001600,
170
asyn
= 0x2115800000001601,
171
};
172
173
///@}
174
175
/// @name %%gpu.free
176
///@{
177
enum class
free
:
flags_t
{
178
block
= 0x2115800000001700,
179
asyn
= 0x2115800000001701,
180
};
181
182
///@}
183
184
/// @name %%gpu.copy_to_device
185
///@{
186
enum class
copy_to_device
:
flags_t
{
187
block
= 0x2115800000001800,
188
asyn
= 0x2115800000001801,
189
};
190
191
///@}
192
193
/// @name %%gpu.copy_to_host
194
///@{
195
enum class
copy_to_host
:
flags_t
{
196
block
= 0x2115800000001900,
197
asyn
= 0x2115800000001901,
198
};
199
200
///@}
201
202
/// @name %%gpu.alloc_copy
203
///@{
204
enum class
alloc_copy
:
flags_t
{
205
block
= 0x2115800000001a00,
206
asyn
= 0x2115800000001a01,
207
};
208
209
///@}
210
211
/// @name %%gpu.buf_alloc_copy
212
///@{
213
enum class
buf_alloc_copy
:
flags_t
{
214
};
215
216
///@}
217
218
/// @name %%gpu.buf_copy_to_host
219
///@{
220
enum class
buf_copy_to_host
:
flags_t
{
221
};
222
223
///@}
224
225
/// @name %%gpu.launch
226
///@{
227
enum class
launch
:
flags_t
{
228
};
229
230
///@}
231
232
/// @name %%gpu.sync_work_items
233
///@{
234
enum class
sync_work_items
:
flags_t
{
235
};
236
237
///@}
238
239
/// @name %%gpu.synced_scope
240
///@{
241
enum class
synced_scope
:
flags_t
{
242
};
243
244
///@}
245
246
/// @name %%gpu.check_addr_spaces_repl
247
///@{
248
enum class
check_addr_spaces_repl
:
flags_t
{
249
};
250
251
///@}
252
253
/// @name %%gpu.host_malloc2gpualloc_repl
254
///@{
255
enum class
host_malloc2gpualloc_repl
:
flags_t
{
256
};
257
258
///@}
259
260
/// @name %%gpu.mem_checks
261
///@{
262
enum class
mem_checks
:
flags_t
{
263
};
264
265
///@}
266
267
/// @name %%gpu.remove_double_syncs
268
///@{
269
enum class
remove_double_syncs
:
flags_t
{
270
};
271
272
///@}
273
274
/// @name %%gpu.split_apply
275
///@{
276
enum class
split_apply
:
flags_t
{
277
};
278
279
///@}
280
281
/// @name %%gpu.lower_btensor_map_reduce
282
///@{
283
enum class
lower_btensor_map_reduce
:
flags_t
{
284
};
285
286
///@}
287
288
/// @name %%gpu.host_specific_phases
289
///@{
290
enum class
host_specific_phases
:
flags_t
{
291
};
292
293
///@}
294
295
/// @name %%gpu.device_specific_phases
296
///@{
297
enum class
device_specific_phases
:
flags_t
{
298
};
299
300
///@}
301
302
}
// namespace plug::gpu
303
304
#ifndef DOXYGEN
// don't include in Doxygen documentation
305
306
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::addr_space_global>
= 0x2115800000000000;
307
template
<>
constexpr
size_t
Annex::Num<plug::gpu::addr_space_global>
= 0;
308
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::addr_space_shared>
= 0x2115800000000100;
309
template
<>
constexpr
size_t
Annex::Num<plug::gpu::addr_space_shared>
= 0;
310
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::addr_space_const>
= 0x2115800000000200;
311
template
<>
constexpr
size_t
Annex::Num<plug::gpu::addr_space_const>
= 0;
312
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::addr_space_local>
= 0x2115800000000300;
313
template
<>
constexpr
size_t
Annex::Num<plug::gpu::addr_space_local>
= 0;
314
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::GlobalM>
= 0x2115800000000400;
315
template
<>
constexpr
size_t
Annex::Num<plug::gpu::GlobalM>
= 0;
316
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::SharedM>
= 0x2115800000000500;
317
template
<>
constexpr
size_t
Annex::Num<plug::gpu::SharedM>
= 0;
318
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::ConstM>
= 0x2115800000000600;
319
template
<>
constexpr
size_t
Annex::Num<plug::gpu::ConstM>
= 0;
320
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::LocalM>
= 0x2115800000000700;
321
template
<>
constexpr
size_t
Annex::Num<plug::gpu::LocalM>
= 0;
322
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::GlobalPtr>
= 0x2115800000000800;
323
template
<>
constexpr
size_t
Annex::Num<plug::gpu::GlobalPtr>
= 0;
324
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::SharedPtr>
= 0x2115800000000900;
325
template
<>
constexpr
size_t
Annex::Num<plug::gpu::SharedPtr>
= 0;
326
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::ConstPtr>
= 0x2115800000000a00;
327
template
<>
constexpr
size_t
Annex::Num<plug::gpu::ConstPtr>
= 0;
328
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::LocalPtr>
= 0x2115800000000b00;
329
template
<>
constexpr
size_t
Annex::Num<plug::gpu::LocalPtr>
= 0;
330
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::Stream>
= 0x2115800000000c00;
331
template
<>
constexpr
size_t
Annex::Num<plug::gpu::Stream>
= 0;
332
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::default_stream>
= 0x2115800000000d00;
333
template
<>
constexpr
size_t
Annex::Num<plug::gpu::default_stream>
= 0;
334
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::init>
= 0x2115800000000e00;
335
template
<>
constexpr
size_t
Annex::Num<plug::gpu::init>
= 0;
336
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::deinit>
= 0x2115800000000f00;
337
template
<>
constexpr
size_t
Annex::Num<plug::gpu::deinit>
= 0;
338
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::auto_init>
= 0x2115800000001000;
339
template
<>
constexpr
size_t
Annex::Num<plug::gpu::auto_init>
= 0;
340
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::auto_deinit>
= 0x2115800000001100;
341
template
<>
constexpr
size_t
Annex::Num<plug::gpu::auto_deinit>
= 0;
342
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::stream_init>
= 0x2115800000001200;
343
template
<>
constexpr
size_t
Annex::Num<plug::gpu::stream_init>
= 0;
344
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::stream_deinit>
= 0x2115800000001300;
345
template
<>
constexpr
size_t
Annex::Num<plug::gpu::stream_deinit>
= 0;
346
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::stream_sync>
= 0x2115800000001400;
347
template
<>
constexpr
size_t
Annex::Num<plug::gpu::stream_sync>
= 0;
348
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::with_streams>
= 0x2115800000001500;
349
template
<>
constexpr
size_t
Annex::Num<plug::gpu::with_streams>
= 0;
350
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::alloc>
= 0x2115800000001600;
351
template
<>
constexpr
size_t
Annex::Num<plug::gpu::alloc>
= 2;
352
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::free>
= 0x2115800000001700;
353
template
<>
constexpr
size_t
Annex::Num<plug::gpu::free>
= 2;
354
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::copy_to_device>
= 0x2115800000001800;
355
template
<>
constexpr
size_t
Annex::Num<plug::gpu::copy_to_device>
= 2;
356
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::copy_to_host>
= 0x2115800000001900;
357
template
<>
constexpr
size_t
Annex::Num<plug::gpu::copy_to_host>
= 2;
358
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::alloc_copy>
= 0x2115800000001a00;
359
template
<>
constexpr
size_t
Annex::Num<plug::gpu::alloc_copy>
= 2;
360
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::buf_alloc_copy>
= 0x2115800000001b00;
361
template
<>
constexpr
size_t
Annex::Num<plug::gpu::buf_alloc_copy>
= 0;
362
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::buf_copy_to_host>
= 0x2115800000001c00;
363
template
<>
constexpr
size_t
Annex::Num<plug::gpu::buf_copy_to_host>
= 0;
364
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::launch>
= 0x2115800000001d00;
365
template
<>
constexpr
size_t
Annex::Num<plug::gpu::launch>
= 0;
366
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::sync_work_items>
= 0x2115800000001e00;
367
template
<>
constexpr
size_t
Annex::Num<plug::gpu::sync_work_items>
= 0;
368
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::synced_scope>
= 0x2115800000001f00;
369
template
<>
constexpr
size_t
Annex::Num<plug::gpu::synced_scope>
= 0;
370
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::check_addr_spaces_repl>
= 0x2115800000002000;
371
template
<>
constexpr
size_t
Annex::Num<plug::gpu::check_addr_spaces_repl>
= 0;
372
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::host_malloc2gpualloc_repl>
= 0x2115800000002100;
373
template
<>
constexpr
size_t
Annex::Num<plug::gpu::host_malloc2gpualloc_repl>
= 0;
374
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::mem_checks>
= 0x2115800000002200;
375
template
<>
constexpr
size_t
Annex::Num<plug::gpu::mem_checks>
= 0;
376
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::remove_double_syncs>
= 0x2115800000002300;
377
template
<>
constexpr
size_t
Annex::Num<plug::gpu::remove_double_syncs>
= 0;
378
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::split_apply>
= 0x2115800000002400;
379
template
<>
constexpr
size_t
Annex::Num<plug::gpu::split_apply>
= 0;
380
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::lower_btensor_map_reduce>
= 0x2115800000002500;
381
template
<>
constexpr
size_t
Annex::Num<plug::gpu::lower_btensor_map_reduce>
= 0;
382
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::host_specific_phases>
= 0x2115800000002600;
383
template
<>
constexpr
size_t
Annex::Num<plug::gpu::host_specific_phases>
= 0;
384
template
<>
constexpr
flags_t
Annex::Base<plug::gpu::device_specific_phases>
= 0x2115800000002700;
385
template
<>
constexpr
size_t
Annex::Num<plug::gpu::device_specific_phases>
= 0;
386
387
template
<>
struct
Axm::IsANode
<
plug
::gpu::addr_space_global> {
using
type
=
Axm
; };
388
template
<>
struct
Axm::IsANode<plug::gpu::addr_space_shared> {
using
type
= Axm; };
389
template
<>
struct
Axm::IsANode
<
plug
::gpu::addr_space_const> {
using
type
=
Axm
; };
390
template
<>
struct
Axm::IsANode
<
plug
::gpu::addr_space_local> {
using
type
=
Axm
; };
391
template
<>
struct
Axm::IsANode
<
plug
::gpu::GlobalM> {
using
type
=
Axm
; };
392
template
<>
struct
Axm::IsANode
<
plug
::gpu::SharedM> {
using
type
=
Axm
; };
393
template
<>
struct
Axm::IsANode
<
plug
::gpu::ConstM> {
using
type
=
Axm
; };
394
template
<>
struct
Axm::IsANode
<
plug
::gpu::LocalM> {
using
type
=
Axm
; };
395
template
<>
struct
Axm::IsANode
<
plug
::gpu::GlobalPtr> {
using
type
=
Axm
; };
396
template
<>
struct
Axm::IsANode
<
plug
::gpu::SharedPtr> {
using
type
=
Axm
; };
397
template
<>
struct
Axm::IsANode
<
plug
::gpu::ConstPtr> {
using
type
=
Axm
; };
398
template
<>
struct
Axm::IsANode
<
plug
::gpu::LocalPtr> {
using
type
=
Axm
; };
399
template
<>
struct
Axm::IsANode
<
plug
::gpu::Stream> {
using
type
=
Axm
; };
400
template
<>
struct
Axm::IsANode
<
plug
::gpu::default_stream> {
using
type
=
Axm
; };
401
template
<>
struct
Axm::IsANode
<
plug
::gpu::with_streams> {
using
type
=
Axm
; };
402
template
<>
struct
Axm::IsANode
<
plug
::gpu::alloc_copy> {
using
type
=
Axm
; };
403
template
<>
struct
Axm::IsANode
<
plug
::gpu::synced_scope> {
using
type
=
Axm
; };
404
template
<>
struct
Axm::IsANode
<
plug
::gpu::check_addr_spaces_repl> {
using
type
=
Axm
; };
405
template
<>
struct
Axm::IsANode
<
plug
::gpu::host_malloc2gpualloc_repl> {
using
type
=
Axm
; };
406
template
<>
struct
Axm::IsANode
<
plug
::gpu::mem_checks> {
using
type
=
Axm
; };
407
template
<>
struct
Axm::IsANode
<
plug
::gpu::remove_double_syncs> {
using
type
=
Axm
; };
408
template
<>
struct
Axm::IsANode
<
plug
::gpu::split_apply> {
using
type
=
Axm
; };
409
template
<>
struct
Axm::IsANode
<
plug
::gpu::lower_btensor_map_reduce> {
using
type
=
Axm
; };
410
template
<>
struct
Axm::IsANode
<
plug
::gpu::host_specific_phases> {
using
type
=
Axm
; };
411
template
<>
struct
Axm::IsANode
<
plug
::gpu::device_specific_phases> {
using
type
=
Axm
; };
412
413
#endif
414
}
// namespace mim
415
416
#ifndef DOXYGEN
// don't include in Doxygen documentation
417
418
template
<>
struct
fe::is_bit_enum<
mim
::plug::gpu::alloc> : std::true_type {};
419
template
<>
struct
fe::is_bit_enum<
mim
::plug::gpu::free> : std::true_type {};
420
template
<>
struct
fe::is_bit_enum<
mim
::plug::gpu::copy_to_device> : std::true_type {};
421
template
<>
struct
fe::is_bit_enum<
mim
::plug::gpu::copy_to_host> : std::true_type {};
422
template
<>
struct
fe::is_bit_enum<
mim
::plug::gpu::alloc_copy> : std::true_type {};
423
424
#endif
axm.h
mim::Axm
Definition
axm.h:9
mim::Axm::IsANode::type
App type
Definition
axm.h:70
mim::Axm::IsANode
Definition
axm.h:69
mim::plug::gpu
The gpu Plugin
Definition
lower_map_reduce.h:7
mim::plug::gpu::LocalPtr
LocalPtr
Definition
autogen.h:91
mim::plug::gpu::check_addr_spaces_repl
check_addr_spaces_repl
Definition
autogen.h:248
mim::plug::gpu::addr_space_local
addr_space_local
Definition
autogen.h:35
mim::plug::gpu::addr_space_global
addr_space_global
Definition
autogen.h:14
mim::plug::gpu::stream_init
stream_init
Definition
autogen.h:140
mim::plug::gpu::addr_space_shared
addr_space_shared
Definition
autogen.h:21
mim::plug::gpu::alloc
alloc
Definition
autogen.h:168
mim::plug::gpu::alloc::block
@ block
Definition
autogen.h:169
mim::plug::gpu::alloc::asyn
@ asyn
Definition
autogen.h:170
mim::plug::gpu::auto_init
auto_init
Definition
autogen.h:126
mim::plug::gpu::sync_work_items
sync_work_items
Definition
autogen.h:234
mim::plug::gpu::device_specific_phases
device_specific_phases
Definition
autogen.h:297
mim::plug::gpu::copy_to_host
copy_to_host
Definition
autogen.h:195
mim::plug::gpu::auto_deinit
auto_deinit
Definition
autogen.h:133
mim::plug::gpu::remove_double_syncs
remove_double_syncs
Definition
autogen.h:269
mim::plug::gpu::lower_btensor_map_reduce
lower_btensor_map_reduce
Definition
autogen.h:283
mim::plug::gpu::ConstPtr
ConstPtr
Definition
autogen.h:84
mim::plug::gpu::GlobalM
GlobalM
Definition
autogen.h:42
mim::plug::gpu::init
init
Definition
autogen.h:112
mim::plug::gpu::with_streams
with_streams
Definition
autogen.h:161
mim::plug::gpu::host_specific_phases
host_specific_phases
Definition
autogen.h:290
mim::plug::gpu::stream_deinit
stream_deinit
Definition
autogen.h:147
mim::plug::gpu::SharedPtr
SharedPtr
Definition
autogen.h:77
mim::plug::gpu::launch
launch
Definition
autogen.h:227
mim::plug::gpu::default_stream
default_stream
Definition
autogen.h:105
mim::plug::gpu::mem_checks
mem_checks
Definition
autogen.h:262
mim::plug::gpu::Stream
Stream
Definition
autogen.h:98
mim::plug::gpu::alloc_copy
alloc_copy
Definition
autogen.h:204
mim::plug::gpu::Plugin_Id
static constexpr plugin_t Plugin_Id
Definition
autogen.h:10
mim::plug::gpu::free
free
Definition
autogen.h:177
mim::plug::gpu::buf_alloc_copy
buf_alloc_copy
Definition
autogen.h:213
mim::plug::gpu::deinit
deinit
Definition
autogen.h:119
mim::plug::gpu::addr_space_const
addr_space_const
Definition
autogen.h:28
mim::plug::gpu::LocalM
LocalM
Definition
autogen.h:63
mim::plug::gpu::host_malloc2gpualloc_repl
host_malloc2gpualloc_repl
Definition
autogen.h:255
mim::plug::gpu::buf_copy_to_host
buf_copy_to_host
Definition
autogen.h:220
mim::plug::gpu::split_apply
split_apply
Definition
autogen.h:276
mim::plug::gpu::synced_scope
synced_scope
Definition
autogen.h:241
mim::plug::gpu::stream_sync
stream_sync
Definition
autogen.h:154
mim::plug::gpu::SharedM
SharedM
Definition
autogen.h:49
mim::plug::gpu::copy_to_device
copy_to_device
Definition
autogen.h:186
mim::plug::gpu::ConstM
ConstM
Definition
autogen.h:56
mim::plug::gpu::GlobalPtr
GlobalPtr
Definition
autogen.h:70
mim::plug
Definition
lower_for.h:5
mim
Definition
ast.h:16
mim::flags_t
u64 flags_t
Definition
types.h:39
mim::plugin_t
u64 plugin_t
Definition
types.h:40
mim::Node::Axm
@ Axm
Definition
def.h:122
plugin.h
mim::Annex::Num
static constexpr size_t Num
Number of Axm::subtags.
Definition
plugin.h:247
mim::Annex::Base
static constexpr flags_t Base
Definition
plugin.h:248
build
include
mim
plug
gpu
autogen.h
Generated by
1.18.0