triton-windows 3.3.1.post19__cp312-cp312-win_amd64.whl → 3.4.0.post20__cp312-cp312-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of triton-windows might be problematic. Click here for more details.

Files changed (166) hide show
  1. triton/_C/libtriton.pyd +0 -0
  2. triton/__init__.py +4 -1
  3. triton/_filecheck.py +87 -0
  4. triton/_internal_testing.py +26 -15
  5. triton/_utils.py +110 -21
  6. triton/backends/__init__.py +20 -23
  7. triton/backends/amd/__init__.py +0 -0
  8. triton/backends/amd/compiler.py +112 -78
  9. triton/backends/amd/driver.c +5 -2
  10. triton/backends/amd/driver.py +149 -47
  11. triton/backends/compiler.py +7 -21
  12. triton/backends/nvidia/bin/ptxas.exe +0 -0
  13. triton/backends/nvidia/compiler.py +92 -93
  14. triton/backends/nvidia/driver.c +90 -98
  15. triton/backends/nvidia/driver.py +303 -128
  16. triton/compiler/code_generator.py +212 -111
  17. triton/compiler/compiler.py +110 -25
  18. triton/experimental/__init__.py +0 -0
  19. triton/experimental/gluon/__init__.py +4 -0
  20. triton/experimental/gluon/_compiler.py +0 -0
  21. triton/experimental/gluon/_runtime.py +99 -0
  22. triton/experimental/gluon/language/__init__.py +18 -0
  23. triton/experimental/gluon/language/_core.py +312 -0
  24. triton/experimental/gluon/language/_layouts.py +230 -0
  25. triton/experimental/gluon/language/_math.py +12 -0
  26. triton/experimental/gluon/language/_semantic.py +287 -0
  27. triton/experimental/gluon/language/_standard.py +47 -0
  28. triton/experimental/gluon/language/nvidia/__init__.py +4 -0
  29. triton/experimental/gluon/language/nvidia/blackwell/__init__.py +202 -0
  30. triton/experimental/gluon/language/nvidia/blackwell/tma.py +32 -0
  31. triton/experimental/gluon/language/nvidia/hopper/__init__.py +11 -0
  32. triton/experimental/gluon/language/nvidia/hopper/mbarrier.py +51 -0
  33. triton/experimental/gluon/language/nvidia/hopper/tma.py +96 -0
  34. triton/experimental/gluon/nvidia/__init__.py +4 -0
  35. triton/experimental/gluon/nvidia/blackwell.py +3 -0
  36. triton/experimental/gluon/nvidia/hopper.py +40 -0
  37. triton/knobs.py +481 -0
  38. triton/language/__init__.py +39 -14
  39. triton/language/core.py +794 -537
  40. triton/language/extra/cuda/__init__.py +10 -7
  41. triton/language/extra/cuda/gdc.py +42 -0
  42. triton/language/extra/cuda/libdevice.py +394 -394
  43. triton/language/extra/cuda/utils.py +21 -21
  44. triton/language/extra/hip/libdevice.py +113 -104
  45. triton/language/math.py +65 -66
  46. triton/language/random.py +12 -2
  47. triton/language/semantic.py +1706 -1770
  48. triton/language/standard.py +116 -51
  49. triton/runtime/autotuner.py +117 -59
  50. triton/runtime/build.py +76 -12
  51. triton/runtime/cache.py +18 -47
  52. triton/runtime/driver.py +32 -29
  53. triton/runtime/interpreter.py +72 -35
  54. triton/runtime/jit.py +146 -110
  55. triton/testing.py +16 -12
  56. triton/tools/disasm.py +3 -4
  57. triton/tools/tensor_descriptor.py +36 -0
  58. triton/windows_utils.py +14 -6
  59. {triton_windows-3.3.1.post19.dist-info → triton_windows-3.4.0.post20.dist-info}/METADATA +7 -2
  60. triton_windows-3.4.0.post20.dist-info/RECORD +186 -0
  61. triton_windows-3.4.0.post20.dist-info/entry_points.txt +3 -0
  62. triton_windows-3.4.0.post20.dist-info/licenses/LICENSE +23 -0
  63. triton_windows-3.4.0.post20.dist-info/top_level.txt +1 -0
  64. triton/backends/amd/include/hip/amd_detail/amd_channel_descriptor.h +0 -358
  65. triton/backends/amd/include/hip/amd_detail/amd_device_functions.h +0 -1010
  66. triton/backends/amd/include/hip/amd_detail/amd_hip_atomic.h +0 -1638
  67. triton/backends/amd/include/hip/amd_detail/amd_hip_bf16.h +0 -1814
  68. triton/backends/amd/include/hip/amd_detail/amd_hip_bfloat16.h +0 -293
  69. triton/backends/amd/include/hip/amd_detail/amd_hip_common.h +0 -32
  70. triton/backends/amd/include/hip/amd_detail/amd_hip_complex.h +0 -174
  71. triton/backends/amd/include/hip/amd_detail/amd_hip_cooperative_groups.h +0 -835
  72. triton/backends/amd/include/hip/amd_detail/amd_hip_fp16.h +0 -1809
  73. triton/backends/amd/include/hip/amd_detail/amd_hip_fp8.h +0 -1391
  74. triton/backends/amd/include/hip/amd_detail/amd_hip_gl_interop.h +0 -108
  75. triton/backends/amd/include/hip/amd_detail/amd_hip_math_constants.h +0 -124
  76. triton/backends/amd/include/hip/amd_detail/amd_hip_runtime.h +0 -405
  77. triton/backends/amd/include/hip/amd_detail/amd_hip_runtime_pt_api.h +0 -196
  78. triton/backends/amd/include/hip/amd_detail/amd_hip_unsafe_atomics.h +0 -565
  79. triton/backends/amd/include/hip/amd_detail/amd_hip_vector_types.h +0 -2226
  80. triton/backends/amd/include/hip/amd_detail/amd_math_functions.h +0 -104
  81. triton/backends/amd/include/hip/amd_detail/amd_surface_functions.h +0 -244
  82. triton/backends/amd/include/hip/amd_detail/amd_warp_functions.h +0 -538
  83. triton/backends/amd/include/hip/amd_detail/amd_warp_sync_functions.h +0 -288
  84. triton/backends/amd/include/hip/amd_detail/concepts.hpp +0 -30
  85. triton/backends/amd/include/hip/amd_detail/device_library_decls.h +0 -133
  86. triton/backends/amd/include/hip/amd_detail/functional_grid_launch.hpp +0 -218
  87. triton/backends/amd/include/hip/amd_detail/grid_launch.h +0 -67
  88. triton/backends/amd/include/hip/amd_detail/grid_launch.hpp +0 -50
  89. triton/backends/amd/include/hip/amd_detail/grid_launch_GGL.hpp +0 -26
  90. triton/backends/amd/include/hip/amd_detail/helpers.hpp +0 -137
  91. triton/backends/amd/include/hip/amd_detail/hip_api_trace.hpp +0 -1446
  92. triton/backends/amd/include/hip/amd_detail/hip_assert.h +0 -101
  93. triton/backends/amd/include/hip/amd_detail/hip_cooperative_groups_helper.h +0 -242
  94. triton/backends/amd/include/hip/amd_detail/hip_fp16_gcc.h +0 -254
  95. triton/backends/amd/include/hip/amd_detail/hip_fp16_math_fwd.h +0 -96
  96. triton/backends/amd/include/hip/amd_detail/hip_ldg.h +0 -100
  97. triton/backends/amd/include/hip/amd_detail/hip_prof_str.h +0 -10570
  98. triton/backends/amd/include/hip/amd_detail/hip_runtime_prof.h +0 -78
  99. triton/backends/amd/include/hip/amd_detail/host_defines.h +0 -184
  100. triton/backends/amd/include/hip/amd_detail/hsa_helpers.hpp +0 -102
  101. triton/backends/amd/include/hip/amd_detail/macro_based_grid_launch.hpp +0 -798
  102. triton/backends/amd/include/hip/amd_detail/math_fwd.h +0 -698
  103. triton/backends/amd/include/hip/amd_detail/ockl_image.h +0 -177
  104. triton/backends/amd/include/hip/amd_detail/program_state.hpp +0 -107
  105. triton/backends/amd/include/hip/amd_detail/texture_fetch_functions.h +0 -491
  106. triton/backends/amd/include/hip/amd_detail/texture_indirect_functions.h +0 -478
  107. triton/backends/amd/include/hip/channel_descriptor.h +0 -39
  108. triton/backends/amd/include/hip/device_functions.h +0 -38
  109. triton/backends/amd/include/hip/driver_types.h +0 -468
  110. triton/backends/amd/include/hip/hip_bf16.h +0 -36
  111. triton/backends/amd/include/hip/hip_bfloat16.h +0 -44
  112. triton/backends/amd/include/hip/hip_common.h +0 -100
  113. triton/backends/amd/include/hip/hip_complex.h +0 -38
  114. triton/backends/amd/include/hip/hip_cooperative_groups.h +0 -46
  115. triton/backends/amd/include/hip/hip_deprecated.h +0 -95
  116. triton/backends/amd/include/hip/hip_ext.h +0 -161
  117. triton/backends/amd/include/hip/hip_fp16.h +0 -36
  118. triton/backends/amd/include/hip/hip_fp8.h +0 -33
  119. triton/backends/amd/include/hip/hip_gl_interop.h +0 -32
  120. triton/backends/amd/include/hip/hip_hcc.h +0 -24
  121. triton/backends/amd/include/hip/hip_math_constants.h +0 -36
  122. triton/backends/amd/include/hip/hip_profile.h +0 -27
  123. triton/backends/amd/include/hip/hip_runtime.h +0 -75
  124. triton/backends/amd/include/hip/hip_runtime_api.h +0 -9261
  125. triton/backends/amd/include/hip/hip_texture_types.h +0 -29
  126. triton/backends/amd/include/hip/hip_vector_types.h +0 -41
  127. triton/backends/amd/include/hip/hip_version.h +0 -17
  128. triton/backends/amd/include/hip/hiprtc.h +0 -421
  129. triton/backends/amd/include/hip/library_types.h +0 -78
  130. triton/backends/amd/include/hip/math_functions.h +0 -42
  131. triton/backends/amd/include/hip/surface_types.h +0 -63
  132. triton/backends/amd/include/hip/texture_types.h +0 -194
  133. triton/backends/amd/include/hsa/Brig.h +0 -1131
  134. triton/backends/amd/include/hsa/amd_hsa_common.h +0 -91
  135. triton/backends/amd/include/hsa/amd_hsa_elf.h +0 -462
  136. triton/backends/amd/include/hsa/amd_hsa_kernel_code.h +0 -269
  137. triton/backends/amd/include/hsa/amd_hsa_queue.h +0 -109
  138. triton/backends/amd/include/hsa/amd_hsa_signal.h +0 -80
  139. triton/backends/amd/include/hsa/hsa.h +0 -5738
  140. triton/backends/amd/include/hsa/hsa_amd_tool.h +0 -91
  141. triton/backends/amd/include/hsa/hsa_api_trace.h +0 -579
  142. triton/backends/amd/include/hsa/hsa_api_trace_version.h +0 -68
  143. triton/backends/amd/include/hsa/hsa_ext_amd.h +0 -3146
  144. triton/backends/amd/include/hsa/hsa_ext_finalize.h +0 -531
  145. triton/backends/amd/include/hsa/hsa_ext_image.h +0 -1454
  146. triton/backends/amd/include/hsa/hsa_ven_amd_aqlprofile.h +0 -488
  147. triton/backends/amd/include/hsa/hsa_ven_amd_loader.h +0 -667
  148. triton/backends/amd/include/hsa/hsa_ven_amd_pc_sampling.h +0 -416
  149. triton/backends/amd/include/roctracer/ext/prof_protocol.h +0 -107
  150. triton/backends/amd/include/roctracer/hip_ostream_ops.h +0 -4515
  151. triton/backends/amd/include/roctracer/hsa_ostream_ops.h +0 -1727
  152. triton/backends/amd/include/roctracer/hsa_prof_str.h +0 -3059
  153. triton/backends/amd/include/roctracer/roctracer.h +0 -779
  154. triton/backends/amd/include/roctracer/roctracer_ext.h +0 -81
  155. triton/backends/amd/include/roctracer/roctracer_hcc.h +0 -24
  156. triton/backends/amd/include/roctracer/roctracer_hip.h +0 -37
  157. triton/backends/amd/include/roctracer/roctracer_hsa.h +0 -112
  158. triton/backends/amd/include/roctracer/roctracer_plugin.h +0 -137
  159. triton/backends/amd/include/roctracer/roctracer_roctx.h +0 -67
  160. triton/backends/amd/include/roctracer/roctx.h +0 -229
  161. triton/language/_utils.py +0 -21
  162. triton/language/extra/cuda/_experimental_tma.py +0 -106
  163. triton/tools/experimental_descriptor.py +0 -32
  164. triton_windows-3.3.1.post19.dist-info/RECORD +0 -260
  165. triton_windows-3.3.1.post19.dist-info/top_level.txt +0 -14
  166. {triton_windows-3.3.1.post19.dist-info → triton_windows-3.4.0.post20.dist-info}/WHEEL +0 -0
@@ -1,1131 +0,0 @@
1
- // University of Illinois/NCSA
2
- // Open Source License
3
- //
4
- // Copyright (c) 2013-2015, Advanced Micro Devices, Inc.
5
- // All rights reserved.
6
- //
7
- // Developed by:
8
- //
9
- // HSA Team
10
- //
11
- // Advanced Micro Devices, Inc
12
- //
13
- // www.amd.com
14
- //
15
- // Permission is hereby granted, free of charge, to any person obtaining a copy of
16
- // this software and associated documentation files (the "Software"), to deal with
17
- // the Software without restriction, including without limitation the rights to
18
- // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
19
- // of the Software, and to permit persons to whom the Software is furnished to do
20
- // so, subject to the following conditions:
21
- //
22
- // * Redistributions of source code must retain the above copyright notice,
23
- // this list of conditions and the following disclaimers.
24
- //
25
- // * Redistributions in binary form must reproduce the above copyright notice,
26
- // this list of conditions and the following disclaimers in the
27
- // documentation and/or other materials provided with the distribution.
28
- //
29
- // * Neither the names of the LLVM Team, University of Illinois at
30
- // Urbana-Champaign, nor the names of its contributors may be used to
31
- // endorse or promote products derived from this Software without specific
32
- // prior written permission.
33
- //
34
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
36
- // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37
- // CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
40
- // SOFTWARE.
41
-
42
- #ifndef INCLUDED_BRIG_H
43
- #define INCLUDED_BRIG_H
44
-
45
- #include <stddef.h> /* size_t */
46
- #include <stdint.h> /* uintXX_t */
47
-
48
- #ifdef __cplusplus
49
- extern "C" {
50
- #endif /* __cplusplus */
51
-
52
- /*========================================================================================*/
53
- /* =======================================================================================*/
54
- /* =======================================================================================*/
55
- /* =======================================================================================*/
56
-
57
- typedef uint32_t BrigCodeOffset32_t;
58
- typedef uint32_t BrigOperandOffset32_t;
59
- typedef uint32_t BrigDataOffset32_t;
60
-
61
- typedef BrigDataOffset32_t BrigDataOffsetCodeList32_t;
62
- typedef BrigDataOffset32_t BrigDataOffsetOperandList32_t;
63
- typedef BrigDataOffset32_t BrigDataOffsetString32_t;
64
-
65
- typedef uint32_t BrigVersion32_t;
66
- enum BrigVersion {
67
- BRIG_VERSION_HSAIL_MAJOR = 1,
68
- BRIG_VERSION_HSAIL_MINOR = 0,
69
- BRIG_VERSION_BRIG_MAJOR = 1,
70
- BRIG_VERSION_BRIG_MINOR = 0
71
- };
72
-
73
- typedef uint16_t BrigKind16_t;
74
- enum BrigKind {
75
- BRIG_KIND_NONE = 0x0000,
76
-
77
- BRIG_KIND_DIRECTIVE_BEGIN = 0x1000,
78
- BRIG_KIND_DIRECTIVE_ARG_BLOCK_END = 0x1000,
79
- BRIG_KIND_DIRECTIVE_ARG_BLOCK_START = 0x1001,
80
- BRIG_KIND_DIRECTIVE_COMMENT = 0x1002,
81
- BRIG_KIND_DIRECTIVE_CONTROL = 0x1003,
82
- BRIG_KIND_DIRECTIVE_EXTENSION = 0x1004,
83
- BRIG_KIND_DIRECTIVE_FBARRIER = 0x1005,
84
- BRIG_KIND_DIRECTIVE_FUNCTION = 0x1006,
85
- BRIG_KIND_DIRECTIVE_INDIRECT_FUNCTION = 0x1007,
86
- BRIG_KIND_DIRECTIVE_KERNEL = 0x1008,
87
- BRIG_KIND_DIRECTIVE_LABEL = 0x1009,
88
- BRIG_KIND_DIRECTIVE_LOC = 0x100a,
89
- BRIG_KIND_DIRECTIVE_MODULE = 0x100b,
90
- BRIG_KIND_DIRECTIVE_PRAGMA = 0x100c,
91
- BRIG_KIND_DIRECTIVE_SIGNATURE = 0x100d,
92
- BRIG_KIND_DIRECTIVE_VARIABLE = 0x100e,
93
- BRIG_KIND_DIRECTIVE_END = 0x100f,
94
-
95
- BRIG_KIND_INST_BEGIN = 0x2000,
96
- BRIG_KIND_INST_ADDR = 0x2000,
97
- BRIG_KIND_INST_ATOMIC = 0x2001,
98
- BRIG_KIND_INST_BASIC = 0x2002,
99
- BRIG_KIND_INST_BR = 0x2003,
100
- BRIG_KIND_INST_CMP = 0x2004,
101
- BRIG_KIND_INST_CVT = 0x2005,
102
- BRIG_KIND_INST_IMAGE = 0x2006,
103
- BRIG_KIND_INST_LANE = 0x2007,
104
- BRIG_KIND_INST_MEM = 0x2008,
105
- BRIG_KIND_INST_MEM_FENCE = 0x2009,
106
- BRIG_KIND_INST_MOD = 0x200a,
107
- BRIG_KIND_INST_QUERY_IMAGE = 0x200b,
108
- BRIG_KIND_INST_QUERY_SAMPLER = 0x200c,
109
- BRIG_KIND_INST_QUEUE = 0x200d,
110
- BRIG_KIND_INST_SEG = 0x200e,
111
- BRIG_KIND_INST_SEG_CVT = 0x200f,
112
- BRIG_KIND_INST_SIGNAL = 0x2010,
113
- BRIG_KIND_INST_SOURCE_TYPE = 0x2011,
114
- BRIG_KIND_INST_END = 0x2012,
115
-
116
- BRIG_KIND_OPERAND_BEGIN = 0x3000,
117
- BRIG_KIND_OPERAND_ADDRESS = 0x3000,
118
- BRIG_KIND_OPERAND_ALIGN = 0x3001,
119
- BRIG_KIND_OPERAND_CODE_LIST = 0x3002,
120
- BRIG_KIND_OPERAND_CODE_REF = 0x3003,
121
- BRIG_KIND_OPERAND_CONSTANT_BYTES = 0x3004,
122
- BRIG_KIND_OPERAND_RESERVED = 0x3005,
123
- BRIG_KIND_OPERAND_CONSTANT_IMAGE = 0x3006,
124
- BRIG_KIND_OPERAND_CONSTANT_OPERAND_LIST = 0x3007,
125
- BRIG_KIND_OPERAND_CONSTANT_SAMPLER = 0x3008,
126
- BRIG_KIND_OPERAND_OPERAND_LIST = 0x3009,
127
- BRIG_KIND_OPERAND_REGISTER = 0x300a,
128
- BRIG_KIND_OPERAND_STRING = 0x300b,
129
- BRIG_KIND_OPERAND_WAVESIZE = 0x300c,
130
- BRIG_KIND_OPERAND_END = 0x300d
131
- };
132
-
133
- typedef uint8_t BrigAlignment8_t;
134
- enum BrigAlignment {
135
- BRIG_ALIGNMENT_NONE = 0,
136
- BRIG_ALIGNMENT_1 = 1,
137
- BRIG_ALIGNMENT_2 = 2,
138
- BRIG_ALIGNMENT_4 = 3,
139
- BRIG_ALIGNMENT_8 = 4,
140
- BRIG_ALIGNMENT_16 = 5,
141
- BRIG_ALIGNMENT_32 = 6,
142
- BRIG_ALIGNMENT_64 = 7,
143
- BRIG_ALIGNMENT_128 = 8,
144
- BRIG_ALIGNMENT_256 = 9,
145
- BRIG_ALIGNMENT_MAX = BRIG_ALIGNMENT_256
146
- };
147
-
148
- typedef uint8_t BrigAllocation8_t;
149
- enum BrigAllocation {
150
- BRIG_ALLOCATION_NONE = 0,
151
- BRIG_ALLOCATION_PROGRAM = 1,
152
- BRIG_ALLOCATION_AGENT = 2,
153
- BRIG_ALLOCATION_AUTOMATIC = 3
154
- };
155
-
156
- typedef uint8_t BrigAluModifier8_t;
157
- enum BrigAluModifierMask {
158
- BRIG_ALU_FTZ = 1
159
- };
160
-
161
- typedef uint8_t BrigAtomicOperation8_t;
162
- enum BrigAtomicOperation {
163
- BRIG_ATOMIC_ADD = 0,
164
- BRIG_ATOMIC_AND = 1,
165
- BRIG_ATOMIC_CAS = 2,
166
- BRIG_ATOMIC_EXCH = 3,
167
- BRIG_ATOMIC_LD = 4,
168
- BRIG_ATOMIC_MAX = 5,
169
- BRIG_ATOMIC_MIN = 6,
170
- BRIG_ATOMIC_OR = 7,
171
- BRIG_ATOMIC_ST = 8,
172
- BRIG_ATOMIC_SUB = 9,
173
- BRIG_ATOMIC_WRAPDEC = 10,
174
- BRIG_ATOMIC_WRAPINC = 11,
175
- BRIG_ATOMIC_XOR = 12,
176
- BRIG_ATOMIC_WAIT_EQ = 13,
177
- BRIG_ATOMIC_WAIT_NE = 14,
178
- BRIG_ATOMIC_WAIT_LT = 15,
179
- BRIG_ATOMIC_WAIT_GTE = 16,
180
- BRIG_ATOMIC_WAITTIMEOUT_EQ = 17,
181
- BRIG_ATOMIC_WAITTIMEOUT_NE = 18,
182
- BRIG_ATOMIC_WAITTIMEOUT_LT = 19,
183
- BRIG_ATOMIC_WAITTIMEOUT_GTE = 20
184
- };
185
-
186
- typedef uint8_t BrigCompareOperation8_t;
187
- enum BrigCompareOperation {
188
- BRIG_COMPARE_EQ = 0,
189
- BRIG_COMPARE_NE = 1,
190
- BRIG_COMPARE_LT = 2,
191
- BRIG_COMPARE_LE = 3,
192
- BRIG_COMPARE_GT = 4,
193
- BRIG_COMPARE_GE = 5,
194
- BRIG_COMPARE_EQU = 6,
195
- BRIG_COMPARE_NEU = 7,
196
- BRIG_COMPARE_LTU = 8,
197
- BRIG_COMPARE_LEU = 9,
198
- BRIG_COMPARE_GTU = 10,
199
- BRIG_COMPARE_GEU = 11,
200
- BRIG_COMPARE_NUM = 12,
201
- BRIG_COMPARE_NAN = 13,
202
- BRIG_COMPARE_SEQ = 14,
203
- BRIG_COMPARE_SNE = 15,
204
- BRIG_COMPARE_SLT = 16,
205
- BRIG_COMPARE_SLE = 17,
206
- BRIG_COMPARE_SGT = 18,
207
- BRIG_COMPARE_SGE = 19,
208
- BRIG_COMPARE_SGEU = 20,
209
- BRIG_COMPARE_SEQU = 21,
210
- BRIG_COMPARE_SNEU = 22,
211
- BRIG_COMPARE_SLTU = 23,
212
- BRIG_COMPARE_SLEU = 24,
213
- BRIG_COMPARE_SNUM = 25,
214
- BRIG_COMPARE_SNAN = 26,
215
- BRIG_COMPARE_SGTU = 27
216
- };
217
-
218
- typedef uint16_t BrigControlDirective16_t;
219
- enum BrigControlDirective {
220
- BRIG_CONTROL_NONE = 0,
221
- BRIG_CONTROL_ENABLEBREAKEXCEPTIONS = 1,
222
- BRIG_CONTROL_ENABLEDETECTEXCEPTIONS = 2,
223
- BRIG_CONTROL_MAXDYNAMICGROUPSIZE = 3,
224
- BRIG_CONTROL_MAXFLATGRIDSIZE = 4,
225
- BRIG_CONTROL_MAXFLATWORKGROUPSIZE = 5,
226
- BRIG_CONTROL_REQUIREDDIM = 6,
227
- BRIG_CONTROL_REQUIREDGRIDSIZE = 7,
228
- BRIG_CONTROL_REQUIREDWORKGROUPSIZE = 8,
229
- BRIG_CONTROL_REQUIRENOPARTIALWORKGROUPS = 9
230
- };
231
-
232
- typedef uint8_t BrigExecutableModifier8_t;
233
- enum BrigExecutableModifierMask {
234
- BRIG_EXECUTABLE_DEFINITION = 1
235
- };
236
-
237
- typedef uint8_t BrigImageChannelOrder8_t;
238
- enum BrigImageChannelOrder {
239
- BRIG_CHANNEL_ORDER_A = 0,
240
- BRIG_CHANNEL_ORDER_R = 1,
241
- BRIG_CHANNEL_ORDER_RX = 2,
242
- BRIG_CHANNEL_ORDER_RG = 3,
243
- BRIG_CHANNEL_ORDER_RGX = 4,
244
- BRIG_CHANNEL_ORDER_RA = 5,
245
- BRIG_CHANNEL_ORDER_RGB = 6,
246
- BRIG_CHANNEL_ORDER_RGBX = 7,
247
- BRIG_CHANNEL_ORDER_RGBA = 8,
248
- BRIG_CHANNEL_ORDER_BGRA = 9,
249
- BRIG_CHANNEL_ORDER_ARGB = 10,
250
- BRIG_CHANNEL_ORDER_ABGR = 11,
251
- BRIG_CHANNEL_ORDER_SRGB = 12,
252
- BRIG_CHANNEL_ORDER_SRGBX = 13,
253
- BRIG_CHANNEL_ORDER_SRGBA = 14,
254
- BRIG_CHANNEL_ORDER_SBGRA = 15,
255
- BRIG_CHANNEL_ORDER_INTENSITY = 16,
256
- BRIG_CHANNEL_ORDER_LUMINANCE = 17,
257
- BRIG_CHANNEL_ORDER_DEPTH = 18,
258
- BRIG_CHANNEL_ORDER_DEPTH_STENCIL = 19,
259
-
260
- BRIG_CHANNEL_ORDER_FIRST_USER_DEFINED = 128
261
- };
262
-
263
- typedef uint8_t BrigImageChannelType8_t;
264
- enum BrigImageChannelType {
265
- BRIG_CHANNEL_TYPE_SNORM_INT8 = 0,
266
- BRIG_CHANNEL_TYPE_SNORM_INT16 = 1,
267
- BRIG_CHANNEL_TYPE_UNORM_INT8 = 2,
268
- BRIG_CHANNEL_TYPE_UNORM_INT16 = 3,
269
- BRIG_CHANNEL_TYPE_UNORM_INT24 = 4,
270
- BRIG_CHANNEL_TYPE_UNORM_SHORT_555 = 5,
271
- BRIG_CHANNEL_TYPE_UNORM_SHORT_565 = 6,
272
- BRIG_CHANNEL_TYPE_UNORM_INT_101010 = 7,
273
- BRIG_CHANNEL_TYPE_SIGNED_INT8 = 8,
274
- BRIG_CHANNEL_TYPE_SIGNED_INT16 = 9,
275
- BRIG_CHANNEL_TYPE_SIGNED_INT32 = 10,
276
- BRIG_CHANNEL_TYPE_UNSIGNED_INT8 = 11,
277
- BRIG_CHANNEL_TYPE_UNSIGNED_INT16 = 12,
278
- BRIG_CHANNEL_TYPE_UNSIGNED_INT32 = 13,
279
- BRIG_CHANNEL_TYPE_HALF_FLOAT = 14,
280
- BRIG_CHANNEL_TYPE_FLOAT = 15,
281
-
282
- BRIG_CHANNEL_TYPE_FIRST_USER_DEFINED = 128
283
- };
284
-
285
- typedef uint8_t BrigImageGeometry8_t;
286
- enum BrigImageGeometry {
287
- BRIG_GEOMETRY_1D = 0,
288
- BRIG_GEOMETRY_2D = 1,
289
- BRIG_GEOMETRY_3D = 2,
290
- BRIG_GEOMETRY_1DA = 3,
291
- BRIG_GEOMETRY_2DA = 4,
292
- BRIG_GEOMETRY_1DB = 5,
293
- BRIG_GEOMETRY_2DDEPTH = 6,
294
- BRIG_GEOMETRY_2DADEPTH = 7,
295
-
296
- BRIG_GEOMETRY_FIRST_USER_DEFINED = 128
297
- };
298
-
299
- typedef uint8_t BrigImageQuery8_t;
300
- enum BrigImageQuery {
301
- BRIG_IMAGE_QUERY_WIDTH = 0,
302
- BRIG_IMAGE_QUERY_HEIGHT = 1,
303
- BRIG_IMAGE_QUERY_DEPTH = 2,
304
- BRIG_IMAGE_QUERY_ARRAY = 3,
305
- BRIG_IMAGE_QUERY_CHANNELORDER = 4,
306
- BRIG_IMAGE_QUERY_CHANNELTYPE = 5,
307
-
308
- BRIG_IMAGE_QUERY_FIRST_USER_DEFINED = 6
309
- };
310
-
311
- typedef uint8_t BrigLinkage8_t;
312
- enum BrigLinkage {
313
- BRIG_LINKAGE_NONE = 0,
314
- BRIG_LINKAGE_PROGRAM = 1,
315
- BRIG_LINKAGE_MODULE = 2,
316
- BRIG_LINKAGE_FUNCTION = 3,
317
- BRIG_LINKAGE_ARG = 4
318
- };
319
-
320
- typedef uint8_t BrigMachineModel8_t;
321
- enum BrigMachineModel {
322
- BRIG_MACHINE_SMALL = 0,
323
- BRIG_MACHINE_LARGE = 1,
324
- };
325
-
326
- typedef uint8_t BrigMemoryModifier8_t;
327
- enum BrigMemoryModifierMask {
328
- BRIG_MEMORY_CONST = 1
329
- };
330
-
331
- typedef uint8_t BrigMemoryOrder8_t;
332
- enum BrigMemoryOrder {
333
- BRIG_MEMORY_ORDER_NONE = 0,
334
- BRIG_MEMORY_ORDER_RELAXED = 1,
335
- BRIG_MEMORY_ORDER_SC_ACQUIRE = 2,
336
- BRIG_MEMORY_ORDER_SC_RELEASE = 3,
337
- BRIG_MEMORY_ORDER_SC_ACQUIRE_RELEASE = 4,
338
- };
339
-
340
- typedef uint8_t BrigMemoryScope8_t;
341
- enum BrigMemoryScope {
342
- BRIG_MEMORY_SCOPE_NONE = 0,
343
- BRIG_MEMORY_SCOPE_WORKITEM = 1,
344
- BRIG_MEMORY_SCOPE_WAVEFRONT = 2,
345
- BRIG_MEMORY_SCOPE_WORKGROUP = 3,
346
- BRIG_MEMORY_SCOPE_AGENT = 4,
347
- BRIG_MEMORY_SCOPE_SYSTEM = 5,
348
- };
349
-
350
- typedef uint16_t BrigOpcode16_t;
351
- enum BrigOpcode {
352
- BRIG_OPCODE_NOP = 0,
353
- BRIG_OPCODE_ABS = 1,
354
- BRIG_OPCODE_ADD = 2,
355
- BRIG_OPCODE_BORROW = 3,
356
- BRIG_OPCODE_CARRY = 4,
357
- BRIG_OPCODE_CEIL = 5,
358
- BRIG_OPCODE_COPYSIGN = 6,
359
- BRIG_OPCODE_DIV = 7,
360
- BRIG_OPCODE_FLOOR = 8,
361
- BRIG_OPCODE_FMA = 9,
362
- BRIG_OPCODE_FRACT = 10,
363
- BRIG_OPCODE_MAD = 11,
364
- BRIG_OPCODE_MAX = 12,
365
- BRIG_OPCODE_MIN = 13,
366
- BRIG_OPCODE_MUL = 14,
367
- BRIG_OPCODE_MULHI = 15,
368
- BRIG_OPCODE_NEG = 16,
369
- BRIG_OPCODE_REM = 17,
370
- BRIG_OPCODE_RINT = 18,
371
- BRIG_OPCODE_SQRT = 19,
372
- BRIG_OPCODE_SUB = 20,
373
- BRIG_OPCODE_TRUNC = 21,
374
- BRIG_OPCODE_MAD24 = 22,
375
- BRIG_OPCODE_MAD24HI = 23,
376
- BRIG_OPCODE_MUL24 = 24,
377
- BRIG_OPCODE_MUL24HI = 25,
378
- BRIG_OPCODE_SHL = 26,
379
- BRIG_OPCODE_SHR = 27,
380
- BRIG_OPCODE_AND = 28,
381
- BRIG_OPCODE_NOT = 29,
382
- BRIG_OPCODE_OR = 30,
383
- BRIG_OPCODE_POPCOUNT = 31,
384
- BRIG_OPCODE_XOR = 32,
385
- BRIG_OPCODE_BITEXTRACT = 33,
386
- BRIG_OPCODE_BITINSERT = 34,
387
- BRIG_OPCODE_BITMASK = 35,
388
- BRIG_OPCODE_BITREV = 36,
389
- BRIG_OPCODE_BITSELECT = 37,
390
- BRIG_OPCODE_FIRSTBIT = 38,
391
- BRIG_OPCODE_LASTBIT = 39,
392
- BRIG_OPCODE_COMBINE = 40,
393
- BRIG_OPCODE_EXPAND = 41,
394
- BRIG_OPCODE_LDA = 42,
395
- BRIG_OPCODE_MOV = 43,
396
- BRIG_OPCODE_SHUFFLE = 44,
397
- BRIG_OPCODE_UNPACKHI = 45,
398
- BRIG_OPCODE_UNPACKLO = 46,
399
- BRIG_OPCODE_PACK = 47,
400
- BRIG_OPCODE_UNPACK = 48,
401
- BRIG_OPCODE_CMOV = 49,
402
- BRIG_OPCODE_CLASS = 50,
403
- BRIG_OPCODE_NCOS = 51,
404
- BRIG_OPCODE_NEXP2 = 52,
405
- BRIG_OPCODE_NFMA = 53,
406
- BRIG_OPCODE_NLOG2 = 54,
407
- BRIG_OPCODE_NRCP = 55,
408
- BRIG_OPCODE_NRSQRT = 56,
409
- BRIG_OPCODE_NSIN = 57,
410
- BRIG_OPCODE_NSQRT = 58,
411
- BRIG_OPCODE_BITALIGN = 59,
412
- BRIG_OPCODE_BYTEALIGN = 60,
413
- BRIG_OPCODE_PACKCVT = 61,
414
- BRIG_OPCODE_UNPACKCVT = 62,
415
- BRIG_OPCODE_LERP = 63,
416
- BRIG_OPCODE_SAD = 64,
417
- BRIG_OPCODE_SADHI = 65,
418
- BRIG_OPCODE_SEGMENTP = 66,
419
- BRIG_OPCODE_FTOS = 67,
420
- BRIG_OPCODE_STOF = 68,
421
- BRIG_OPCODE_CMP = 69,
422
- BRIG_OPCODE_CVT = 70,
423
- BRIG_OPCODE_LD = 71,
424
- BRIG_OPCODE_ST = 72,
425
- BRIG_OPCODE_ATOMIC = 73,
426
- BRIG_OPCODE_ATOMICNORET = 74,
427
- BRIG_OPCODE_SIGNAL = 75,
428
- BRIG_OPCODE_SIGNALNORET = 76,
429
- BRIG_OPCODE_MEMFENCE = 77,
430
- BRIG_OPCODE_RDIMAGE = 78,
431
- BRIG_OPCODE_LDIMAGE = 79,
432
- BRIG_OPCODE_STIMAGE = 80,
433
- BRIG_OPCODE_IMAGEFENCE = 81,
434
- BRIG_OPCODE_QUERYIMAGE = 82,
435
- BRIG_OPCODE_QUERYSAMPLER = 83,
436
- BRIG_OPCODE_CBR = 84,
437
- BRIG_OPCODE_BR = 85,
438
- BRIG_OPCODE_SBR = 86,
439
- BRIG_OPCODE_BARRIER = 87,
440
- BRIG_OPCODE_WAVEBARRIER = 88,
441
- BRIG_OPCODE_ARRIVEFBAR = 89,
442
- BRIG_OPCODE_INITFBAR = 90,
443
- BRIG_OPCODE_JOINFBAR = 91,
444
- BRIG_OPCODE_LEAVEFBAR = 92,
445
- BRIG_OPCODE_RELEASEFBAR = 93,
446
- BRIG_OPCODE_WAITFBAR = 94,
447
- BRIG_OPCODE_LDF = 95,
448
- BRIG_OPCODE_ACTIVELANECOUNT = 96,
449
- BRIG_OPCODE_ACTIVELANEID = 97,
450
- BRIG_OPCODE_ACTIVELANEMASK = 98,
451
- BRIG_OPCODE_ACTIVELANEPERMUTE = 99,
452
- BRIG_OPCODE_CALL = 100,
453
- BRIG_OPCODE_SCALL = 101,
454
- BRIG_OPCODE_ICALL = 102,
455
- BRIG_OPCODE_RET = 103,
456
- BRIG_OPCODE_ALLOCA = 104,
457
- BRIG_OPCODE_CURRENTWORKGROUPSIZE = 105,
458
- BRIG_OPCODE_CURRENTWORKITEMFLATID = 106,
459
- BRIG_OPCODE_DIM = 107,
460
- BRIG_OPCODE_GRIDGROUPS = 108,
461
- BRIG_OPCODE_GRIDSIZE = 109,
462
- BRIG_OPCODE_PACKETCOMPLETIONSIG = 110,
463
- BRIG_OPCODE_PACKETID = 111,
464
- BRIG_OPCODE_WORKGROUPID = 112,
465
- BRIG_OPCODE_WORKGROUPSIZE = 113,
466
- BRIG_OPCODE_WORKITEMABSID = 114,
467
- BRIG_OPCODE_WORKITEMFLATABSID = 115,
468
- BRIG_OPCODE_WORKITEMFLATID = 116,
469
- BRIG_OPCODE_WORKITEMID = 117,
470
- BRIG_OPCODE_CLEARDETECTEXCEPT = 118,
471
- BRIG_OPCODE_GETDETECTEXCEPT = 119,
472
- BRIG_OPCODE_SETDETECTEXCEPT = 120,
473
- BRIG_OPCODE_ADDQUEUEWRITEINDEX = 121,
474
- BRIG_OPCODE_CASQUEUEWRITEINDEX = 122,
475
- BRIG_OPCODE_LDQUEUEREADINDEX = 123,
476
- BRIG_OPCODE_LDQUEUEWRITEINDEX = 124,
477
- BRIG_OPCODE_STQUEUEREADINDEX = 125,
478
- BRIG_OPCODE_STQUEUEWRITEINDEX = 126,
479
- BRIG_OPCODE_CLOCK = 127,
480
- BRIG_OPCODE_CUID = 128,
481
- BRIG_OPCODE_DEBUGTRAP = 129,
482
- BRIG_OPCODE_GROUPBASEPTR = 130,
483
- BRIG_OPCODE_KERNARGBASEPTR = 131,
484
- BRIG_OPCODE_LANEID = 132,
485
- BRIG_OPCODE_MAXCUID = 133,
486
- BRIG_OPCODE_MAXWAVEID = 134,
487
- BRIG_OPCODE_NULLPTR = 135,
488
- BRIG_OPCODE_WAVEID = 136,
489
-
490
- BRIG_OPCODE_FIRST_USER_DEFINED = 32768,
491
- };
492
-
493
- typedef uint8_t BrigPack8_t;
494
- enum BrigPack {
495
- BRIG_PACK_NONE = 0,
496
- BRIG_PACK_PP = 1,
497
- BRIG_PACK_PS = 2,
498
- BRIG_PACK_SP = 3,
499
- BRIG_PACK_SS = 4,
500
- BRIG_PACK_S = 5,
501
- BRIG_PACK_P = 6,
502
- BRIG_PACK_PPSAT = 7,
503
- BRIG_PACK_PSSAT = 8,
504
- BRIG_PACK_SPSAT = 9,
505
- BRIG_PACK_SSSAT = 10,
506
- BRIG_PACK_SSAT = 11,
507
- BRIG_PACK_PSAT = 12
508
- };
509
-
510
- typedef uint8_t BrigProfile8_t;
511
- enum BrigProfile {
512
- BRIG_PROFILE_BASE = 0,
513
- BRIG_PROFILE_FULL = 1,
514
- };
515
-
516
- typedef uint16_t BrigRegisterKind16_t;
517
- enum BrigRegisterKind {
518
- BRIG_REGISTER_KIND_CONTROL = 0,
519
- BRIG_REGISTER_KIND_SINGLE = 1,
520
- BRIG_REGISTER_KIND_DOUBLE = 2,
521
- BRIG_REGISTER_KIND_QUAD = 3
522
- };
523
-
524
- typedef uint8_t BrigRound8_t;
525
- enum BrigRound {
526
- BRIG_ROUND_NONE = 0,
527
- BRIG_ROUND_FLOAT_DEFAULT = 1,
528
- BRIG_ROUND_FLOAT_NEAR_EVEN = 2,
529
- BRIG_ROUND_FLOAT_ZERO = 3,
530
- BRIG_ROUND_FLOAT_PLUS_INFINITY = 4,
531
- BRIG_ROUND_FLOAT_MINUS_INFINITY = 5,
532
- BRIG_ROUND_INTEGER_NEAR_EVEN = 6,
533
- BRIG_ROUND_INTEGER_ZERO = 7,
534
- BRIG_ROUND_INTEGER_PLUS_INFINITY = 8,
535
- BRIG_ROUND_INTEGER_MINUS_INFINITY = 9,
536
- BRIG_ROUND_INTEGER_NEAR_EVEN_SAT = 10,
537
- BRIG_ROUND_INTEGER_ZERO_SAT = 11,
538
- BRIG_ROUND_INTEGER_PLUS_INFINITY_SAT = 12,
539
- BRIG_ROUND_INTEGER_MINUS_INFINITY_SAT = 13,
540
- BRIG_ROUND_INTEGER_SIGNALING_NEAR_EVEN = 14,
541
- BRIG_ROUND_INTEGER_SIGNALING_ZERO = 15,
542
- BRIG_ROUND_INTEGER_SIGNALING_PLUS_INFINITY = 16,
543
- BRIG_ROUND_INTEGER_SIGNALING_MINUS_INFINITY = 17,
544
- BRIG_ROUND_INTEGER_SIGNALING_NEAR_EVEN_SAT = 18,
545
- BRIG_ROUND_INTEGER_SIGNALING_ZERO_SAT = 19,
546
- BRIG_ROUND_INTEGER_SIGNALING_PLUS_INFINITY_SAT = 20,
547
- BRIG_ROUND_INTEGER_SIGNALING_MINUS_INFINITY_SAT = 21
548
- };
549
-
550
- typedef uint8_t BrigSamplerAddressing8_t;
551
- enum BrigSamplerAddressing {
552
- BRIG_ADDRESSING_UNDEFINED = 0,
553
- BRIG_ADDRESSING_CLAMP_TO_EDGE = 1,
554
- BRIG_ADDRESSING_CLAMP_TO_BORDER = 2,
555
- BRIG_ADDRESSING_REPEAT = 3,
556
- BRIG_ADDRESSING_MIRRORED_REPEAT = 4,
557
-
558
- BRIG_ADDRESSING_FIRST_USER_DEFINED = 128
559
- };
560
-
561
- typedef uint8_t BrigSamplerCoordNormalization8_t;
562
- enum BrigSamplerCoordNormalization {
563
- BRIG_COORD_UNNORMALIZED = 0,
564
- BRIG_COORD_NORMALIZED = 1
565
- };
566
-
567
- typedef uint8_t BrigSamplerFilter8_t;
568
- enum BrigSamplerFilter {
569
- BRIG_FILTER_NEAREST = 0,
570
- BRIG_FILTER_LINEAR = 1,
571
-
572
- BRIG_FILTER_FIRST_USER_DEFINED = 128
573
- };
574
-
575
- typedef uint8_t BrigSamplerQuery8_t;
576
- enum BrigSamplerQuery {
577
- BRIG_SAMPLER_QUERY_ADDRESSING = 0,
578
- BRIG_SAMPLER_QUERY_COORD = 1,
579
- BRIG_SAMPLER_QUERY_FILTER = 2
580
- };
581
-
582
- typedef uint32_t BrigSectionIndex32_t;
583
- enum BrigSectionIndex {
584
- BRIG_SECTION_INDEX_DATA = 0,
585
- BRIG_SECTION_INDEX_CODE = 1,
586
- BRIG_SECTION_INDEX_OPERAND = 2,
587
-
588
- BRIG_SECTION_INDEX_BEGIN_IMPLEMENTATION_DEFINED = 3,
589
- };
590
-
591
- typedef uint8_t BrigSegCvtModifier8_t;
592
- enum BrigSegCvtModifierMask {
593
- BRIG_SEG_CVT_NONULL = 1
594
- };
595
-
596
- typedef uint8_t BrigSegment8_t;
597
- enum BrigSegment {
598
- BRIG_SEGMENT_NONE = 0,
599
- BRIG_SEGMENT_FLAT = 1,
600
- BRIG_SEGMENT_GLOBAL = 2,
601
- BRIG_SEGMENT_READONLY = 3,
602
- BRIG_SEGMENT_KERNARG = 4,
603
- BRIG_SEGMENT_GROUP = 5,
604
- BRIG_SEGMENT_PRIVATE = 6,
605
- BRIG_SEGMENT_SPILL = 7,
606
- BRIG_SEGMENT_ARG = 8,
607
-
608
- BRIG_SEGMENT_FIRST_USER_DEFINED = 128
609
- };
610
-
611
- enum {
612
- BRIG_TYPE_BASE_SIZE = 5,
613
- BRIG_TYPE_PACK_SIZE = 2,
614
- BRIG_TYPE_ARRAY_SIZE = 1,
615
-
616
- BRIG_TYPE_BASE_SHIFT = 0,
617
- BRIG_TYPE_PACK_SHIFT = BRIG_TYPE_BASE_SHIFT + BRIG_TYPE_BASE_SIZE,
618
- BRIG_TYPE_ARRAY_SHIFT = BRIG_TYPE_PACK_SHIFT + BRIG_TYPE_PACK_SIZE,
619
-
620
- BRIG_TYPE_BASE_MASK = ((1 << BRIG_TYPE_BASE_SIZE) - 1) << BRIG_TYPE_BASE_SHIFT,
621
- BRIG_TYPE_PACK_MASK = ((1 << BRIG_TYPE_PACK_SIZE) - 1) << BRIG_TYPE_PACK_SHIFT,
622
- BRIG_TYPE_ARRAY_MASK = ((1 << BRIG_TYPE_ARRAY_SIZE) - 1) << BRIG_TYPE_ARRAY_SHIFT,
623
-
624
- BRIG_TYPE_PACK_NONE = 0 << BRIG_TYPE_PACK_SHIFT,
625
- BRIG_TYPE_PACK_32 = 1 << BRIG_TYPE_PACK_SHIFT,
626
- BRIG_TYPE_PACK_64 = 2 << BRIG_TYPE_PACK_SHIFT,
627
- BRIG_TYPE_PACK_128 = 3 << BRIG_TYPE_PACK_SHIFT,
628
-
629
- BRIG_TYPE_ARRAY = 1 << BRIG_TYPE_ARRAY_SHIFT
630
- };
631
-
632
- typedef uint16_t BrigType16_t;
633
- enum BrigType {
634
- BRIG_TYPE_NONE = 0,
635
- BRIG_TYPE_U8 = 1,
636
- BRIG_TYPE_U16 = 2,
637
- BRIG_TYPE_U32 = 3,
638
- BRIG_TYPE_U64 = 4,
639
- BRIG_TYPE_S8 = 5,
640
- BRIG_TYPE_S16 = 6,
641
- BRIG_TYPE_S32 = 7,
642
- BRIG_TYPE_S64 = 8,
643
- BRIG_TYPE_F16 = 9,
644
- BRIG_TYPE_F32 = 10,
645
- BRIG_TYPE_F64 = 11,
646
- BRIG_TYPE_B1 = 12,
647
- BRIG_TYPE_B8 = 13,
648
- BRIG_TYPE_B16 = 14,
649
- BRIG_TYPE_B32 = 15,
650
- BRIG_TYPE_B64 = 16,
651
- BRIG_TYPE_B128 = 17,
652
- BRIG_TYPE_SAMP = 18,
653
- BRIG_TYPE_ROIMG = 19,
654
- BRIG_TYPE_WOIMG = 20,
655
- BRIG_TYPE_RWIMG = 21,
656
- BRIG_TYPE_SIG32 = 22,
657
- BRIG_TYPE_SIG64 = 23,
658
-
659
- BRIG_TYPE_U8X4 = BRIG_TYPE_U8 | BRIG_TYPE_PACK_32,
660
- BRIG_TYPE_U8X8 = BRIG_TYPE_U8 | BRIG_TYPE_PACK_64,
661
- BRIG_TYPE_U8X16 = BRIG_TYPE_U8 | BRIG_TYPE_PACK_128,
662
- BRIG_TYPE_U16X2 = BRIG_TYPE_U16 | BRIG_TYPE_PACK_32,
663
- BRIG_TYPE_U16X4 = BRIG_TYPE_U16 | BRIG_TYPE_PACK_64,
664
- BRIG_TYPE_U16X8 = BRIG_TYPE_U16 | BRIG_TYPE_PACK_128,
665
- BRIG_TYPE_U32X2 = BRIG_TYPE_U32 | BRIG_TYPE_PACK_64,
666
- BRIG_TYPE_U32X4 = BRIG_TYPE_U32 | BRIG_TYPE_PACK_128,
667
- BRIG_TYPE_U64X2 = BRIG_TYPE_U64 | BRIG_TYPE_PACK_128,
668
- BRIG_TYPE_S8X4 = BRIG_TYPE_S8 | BRIG_TYPE_PACK_32,
669
- BRIG_TYPE_S8X8 = BRIG_TYPE_S8 | BRIG_TYPE_PACK_64,
670
- BRIG_TYPE_S8X16 = BRIG_TYPE_S8 | BRIG_TYPE_PACK_128,
671
- BRIG_TYPE_S16X2 = BRIG_TYPE_S16 | BRIG_TYPE_PACK_32,
672
- BRIG_TYPE_S16X4 = BRIG_TYPE_S16 | BRIG_TYPE_PACK_64,
673
- BRIG_TYPE_S16X8 = BRIG_TYPE_S16 | BRIG_TYPE_PACK_128,
674
- BRIG_TYPE_S32X2 = BRIG_TYPE_S32 | BRIG_TYPE_PACK_64,
675
- BRIG_TYPE_S32X4 = BRIG_TYPE_S32 | BRIG_TYPE_PACK_128,
676
- BRIG_TYPE_S64X2 = BRIG_TYPE_S64 | BRIG_TYPE_PACK_128,
677
- BRIG_TYPE_F16X2 = BRIG_TYPE_F16 | BRIG_TYPE_PACK_32,
678
- BRIG_TYPE_F16X4 = BRIG_TYPE_F16 | BRIG_TYPE_PACK_64,
679
- BRIG_TYPE_F16X8 = BRIG_TYPE_F16 | BRIG_TYPE_PACK_128,
680
- BRIG_TYPE_F32X2 = BRIG_TYPE_F32 | BRIG_TYPE_PACK_64,
681
- BRIG_TYPE_F32X4 = BRIG_TYPE_F32 | BRIG_TYPE_PACK_128,
682
- BRIG_TYPE_F64X2 = BRIG_TYPE_F64 | BRIG_TYPE_PACK_128,
683
-
684
- BRIG_TYPE_U8_ARRAY = BRIG_TYPE_U8 | BRIG_TYPE_ARRAY,
685
- BRIG_TYPE_U16_ARRAY = BRIG_TYPE_U16 | BRIG_TYPE_ARRAY,
686
- BRIG_TYPE_U32_ARRAY = BRIG_TYPE_U32 | BRIG_TYPE_ARRAY,
687
- BRIG_TYPE_U64_ARRAY = BRIG_TYPE_U64 | BRIG_TYPE_ARRAY,
688
- BRIG_TYPE_S8_ARRAY = BRIG_TYPE_S8 | BRIG_TYPE_ARRAY,
689
- BRIG_TYPE_S16_ARRAY = BRIG_TYPE_S16 | BRIG_TYPE_ARRAY,
690
- BRIG_TYPE_S32_ARRAY = BRIG_TYPE_S32 | BRIG_TYPE_ARRAY,
691
- BRIG_TYPE_S64_ARRAY = BRIG_TYPE_S64 | BRIG_TYPE_ARRAY,
692
- BRIG_TYPE_F16_ARRAY = BRIG_TYPE_F16 | BRIG_TYPE_ARRAY,
693
- BRIG_TYPE_F32_ARRAY = BRIG_TYPE_F32 | BRIG_TYPE_ARRAY,
694
- BRIG_TYPE_F64_ARRAY = BRIG_TYPE_F64 | BRIG_TYPE_ARRAY,
695
- BRIG_TYPE_B8_ARRAY = BRIG_TYPE_B8 | BRIG_TYPE_ARRAY,
696
- BRIG_TYPE_B16_ARRAY = BRIG_TYPE_B16 | BRIG_TYPE_ARRAY,
697
- BRIG_TYPE_B32_ARRAY = BRIG_TYPE_B32 | BRIG_TYPE_ARRAY,
698
- BRIG_TYPE_B64_ARRAY = BRIG_TYPE_B64 | BRIG_TYPE_ARRAY,
699
- BRIG_TYPE_B128_ARRAY = BRIG_TYPE_B128 | BRIG_TYPE_ARRAY,
700
- BRIG_TYPE_SAMP_ARRAY = BRIG_TYPE_SAMP | BRIG_TYPE_ARRAY,
701
- BRIG_TYPE_ROIMG_ARRAY = BRIG_TYPE_ROIMG | BRIG_TYPE_ARRAY,
702
- BRIG_TYPE_WOIMG_ARRAY = BRIG_TYPE_WOIMG | BRIG_TYPE_ARRAY,
703
- BRIG_TYPE_RWIMG_ARRAY = BRIG_TYPE_RWIMG | BRIG_TYPE_ARRAY,
704
- BRIG_TYPE_SIG32_ARRAY = BRIG_TYPE_SIG32 | BRIG_TYPE_ARRAY,
705
- BRIG_TYPE_SIG64_ARRAY = BRIG_TYPE_SIG64 | BRIG_TYPE_ARRAY,
706
- BRIG_TYPE_U8X4_ARRAY = BRIG_TYPE_U8X4 | BRIG_TYPE_ARRAY,
707
- BRIG_TYPE_U8X8_ARRAY = BRIG_TYPE_U8X8 | BRIG_TYPE_ARRAY,
708
- BRIG_TYPE_U8X16_ARRAY = BRIG_TYPE_U8X16 | BRIG_TYPE_ARRAY,
709
- BRIG_TYPE_U16X2_ARRAY = BRIG_TYPE_U16X2 | BRIG_TYPE_ARRAY,
710
- BRIG_TYPE_U16X4_ARRAY = BRIG_TYPE_U16X4 | BRIG_TYPE_ARRAY,
711
- BRIG_TYPE_U16X8_ARRAY = BRIG_TYPE_U16X8 | BRIG_TYPE_ARRAY,
712
- BRIG_TYPE_U32X2_ARRAY = BRIG_TYPE_U32X2 | BRIG_TYPE_ARRAY,
713
- BRIG_TYPE_U32X4_ARRAY = BRIG_TYPE_U32X4 | BRIG_TYPE_ARRAY,
714
- BRIG_TYPE_U64X2_ARRAY = BRIG_TYPE_U64X2 | BRIG_TYPE_ARRAY,
715
- BRIG_TYPE_S8X4_ARRAY = BRIG_TYPE_S8X4 | BRIG_TYPE_ARRAY,
716
- BRIG_TYPE_S8X8_ARRAY = BRIG_TYPE_S8X8 | BRIG_TYPE_ARRAY,
717
- BRIG_TYPE_S8X16_ARRAY = BRIG_TYPE_S8X16 | BRIG_TYPE_ARRAY,
718
- BRIG_TYPE_S16X2_ARRAY = BRIG_TYPE_S16X2 | BRIG_TYPE_ARRAY,
719
- BRIG_TYPE_S16X4_ARRAY = BRIG_TYPE_S16X4 | BRIG_TYPE_ARRAY,
720
- BRIG_TYPE_S16X8_ARRAY = BRIG_TYPE_S16X8 | BRIG_TYPE_ARRAY,
721
- BRIG_TYPE_S32X2_ARRAY = BRIG_TYPE_S32X2 | BRIG_TYPE_ARRAY,
722
- BRIG_TYPE_S32X4_ARRAY = BRIG_TYPE_S32X4 | BRIG_TYPE_ARRAY,
723
- BRIG_TYPE_S64X2_ARRAY = BRIG_TYPE_S64X2 | BRIG_TYPE_ARRAY,
724
- BRIG_TYPE_F16X2_ARRAY = BRIG_TYPE_F16X2 | BRIG_TYPE_ARRAY,
725
- BRIG_TYPE_F16X4_ARRAY = BRIG_TYPE_F16X4 | BRIG_TYPE_ARRAY,
726
- BRIG_TYPE_F16X8_ARRAY = BRIG_TYPE_F16X8 | BRIG_TYPE_ARRAY,
727
- BRIG_TYPE_F32X2_ARRAY = BRIG_TYPE_F32X2 | BRIG_TYPE_ARRAY,
728
- BRIG_TYPE_F32X4_ARRAY = BRIG_TYPE_F32X4 | BRIG_TYPE_ARRAY,
729
- BRIG_TYPE_F64X2_ARRAY = BRIG_TYPE_F64X2 | BRIG_TYPE_ARRAY,
730
- };
731
-
732
- typedef uint8_t BrigVariableModifier8_t;
733
- enum BrigVariableModifierMask {
734
- BRIG_VARIABLE_DEFINITION = 1,
735
- BRIG_VARIABLE_CONST = 2
736
- };
737
-
738
- typedef uint8_t BrigWidth8_t;
739
- enum BrigWidth {
740
- BRIG_WIDTH_NONE = 0,
741
- BRIG_WIDTH_1 = 1,
742
- BRIG_WIDTH_2 = 2,
743
- BRIG_WIDTH_4 = 3,
744
- BRIG_WIDTH_8 = 4,
745
- BRIG_WIDTH_16 = 5,
746
- BRIG_WIDTH_32 = 6,
747
- BRIG_WIDTH_64 = 7,
748
- BRIG_WIDTH_128 = 8,
749
- BRIG_WIDTH_256 = 9,
750
- BRIG_WIDTH_512 = 10,
751
- BRIG_WIDTH_1024 = 11,
752
- BRIG_WIDTH_2048 = 12,
753
- BRIG_WIDTH_4096 = 13,
754
- BRIG_WIDTH_8192 = 14,
755
- BRIG_WIDTH_16384 = 15,
756
- BRIG_WIDTH_32768 = 16,
757
- BRIG_WIDTH_65536 = 17,
758
- BRIG_WIDTH_131072 = 18,
759
- BRIG_WIDTH_262144 = 19,
760
- BRIG_WIDTH_524288 = 20,
761
- BRIG_WIDTH_1048576 = 21,
762
- BRIG_WIDTH_2097152 = 22,
763
- BRIG_WIDTH_4194304 = 23,
764
- BRIG_WIDTH_8388608 = 24,
765
- BRIG_WIDTH_16777216 = 25,
766
- BRIG_WIDTH_33554432 = 26,
767
- BRIG_WIDTH_67108864 = 27,
768
- BRIG_WIDTH_134217728 = 28,
769
- BRIG_WIDTH_268435456 = 29,
770
- BRIG_WIDTH_536870912 = 30,
771
- BRIG_WIDTH_1073741824 = 31,
772
- BRIG_WIDTH_2147483648 = 32,
773
- BRIG_WIDTH_WAVESIZE = 33,
774
- BRIG_WIDTH_ALL = 34,
775
- };
776
-
777
- struct BrigUInt64 {
778
- uint32_t lo;
779
- uint32_t hi;
780
- };
781
-
782
- struct BrigBase {
783
- uint16_t byteCount;
784
- BrigKind16_t kind;
785
- };
786
-
787
- struct BrigData {
788
- uint32_t byteCount;
789
- uint8_t bytes[1];
790
- };
791
-
792
- struct BrigDirectiveArgBlock {
793
- BrigBase base;
794
- };
795
-
796
- struct BrigDirectiveComment {
797
- BrigBase base;
798
- BrigDataOffsetString32_t name;
799
- };
800
-
801
- struct BrigDirectiveControl {
802
- BrigBase base;
803
- BrigControlDirective16_t control;
804
- uint16_t reserved;
805
- BrigDataOffsetOperandList32_t operands;
806
- };
807
-
808
- struct BrigDirectiveExecutable {
809
- BrigBase base;
810
- BrigDataOffsetString32_t name;
811
- uint16_t outArgCount;
812
- uint16_t inArgCount;
813
- BrigCodeOffset32_t firstInArg;
814
- BrigCodeOffset32_t firstCodeBlockEntry;
815
- BrigCodeOffset32_t nextModuleEntry;
816
- BrigExecutableModifier8_t modifier;
817
- BrigLinkage8_t linkage;
818
- uint16_t reserved;
819
- };
820
-
821
- struct BrigDirectiveExtension {
822
- BrigBase base;
823
- BrigDataOffsetString32_t name;
824
- };
825
-
826
- struct BrigDirectiveFbarrier {
827
- BrigBase base;
828
- BrigDataOffsetString32_t name;
829
- BrigVariableModifier8_t modifier;
830
- BrigLinkage8_t linkage;
831
- uint16_t reserved;
832
- };
833
-
834
- struct BrigDirectiveLabel {
835
- BrigBase base;
836
- BrigDataOffsetString32_t name;
837
- };
838
-
839
- struct BrigDirectiveLoc {
840
- BrigBase base;
841
- BrigDataOffsetString32_t filename;
842
- uint32_t line;
843
- uint32_t column;
844
- };
845
-
846
- struct BrigDirectiveNone {
847
- BrigBase base;
848
- };
849
-
850
- struct BrigDirectivePragma {
851
- BrigBase base;
852
- BrigDataOffsetOperandList32_t operands;
853
- };
854
-
855
- struct BrigDirectiveVariable {
856
- BrigBase base;
857
- BrigDataOffsetString32_t name;
858
- BrigOperandOffset32_t init;
859
- BrigType16_t type;
860
- BrigSegment8_t segment;
861
- BrigAlignment8_t align;
862
- BrigUInt64 dim;
863
- BrigVariableModifier8_t modifier;
864
- BrigLinkage8_t linkage;
865
- BrigAllocation8_t allocation;
866
- uint8_t reserved;
867
- };
868
-
869
- struct BrigDirectiveModule {
870
- BrigBase base;
871
- BrigDataOffsetString32_t name;
872
- BrigVersion32_t hsailMajor;
873
- BrigVersion32_t hsailMinor;
874
- BrigProfile8_t profile;
875
- BrigMachineModel8_t machineModel;
876
- BrigRound8_t defaultFloatRound;
877
- uint8_t reserved;
878
- };
879
-
880
- struct BrigInstBase {
881
- BrigBase base;
882
- BrigOpcode16_t opcode;
883
- BrigType16_t type;
884
- BrigDataOffsetOperandList32_t operands;
885
- };
886
-
887
- struct BrigInstAddr {
888
- BrigInstBase base;
889
- BrigSegment8_t segment;
890
- uint8_t reserved[3];
891
- };
892
-
893
- struct BrigInstAtomic {
894
- BrigInstBase base;
895
- BrigSegment8_t segment;
896
- BrigMemoryOrder8_t memoryOrder;
897
- BrigMemoryScope8_t memoryScope;
898
- BrigAtomicOperation8_t atomicOperation;
899
- uint8_t equivClass;
900
- uint8_t reserved[3];
901
- };
902
-
903
- struct BrigInstBasic {
904
- BrigInstBase base;
905
- };
906
-
907
- struct BrigInstBr {
908
- BrigInstBase base;
909
- BrigWidth8_t width;
910
- uint8_t reserved[3];
911
- };
912
-
913
- struct BrigInstCmp {
914
- BrigInstBase base;
915
- BrigType16_t sourceType;
916
- BrigAluModifier8_t modifier;
917
- BrigCompareOperation8_t compare;
918
- BrigPack8_t pack;
919
- uint8_t reserved[3];
920
- };
921
-
922
- struct BrigInstCvt {
923
- BrigInstBase base;
924
- BrigType16_t sourceType;
925
- BrigAluModifier8_t modifier;
926
- BrigRound8_t round;
927
- };
928
-
929
- struct BrigInstImage {
930
- BrigInstBase base;
931
- BrigType16_t imageType;
932
- BrigType16_t coordType;
933
- BrigImageGeometry8_t geometry;
934
- uint8_t equivClass;
935
- uint16_t reserved;
936
- };
937
-
938
- struct BrigInstLane {
939
- BrigInstBase base;
940
- BrigType16_t sourceType;
941
- BrigWidth8_t width;
942
- uint8_t reserved;
943
- };
944
-
945
- struct BrigInstMem {
946
- BrigInstBase base;
947
- BrigSegment8_t segment;
948
- BrigAlignment8_t align;
949
- uint8_t equivClass;
950
- BrigWidth8_t width;
951
- BrigMemoryModifier8_t modifier;
952
- uint8_t reserved[3];
953
- };
954
-
955
- struct BrigInstMemFence {
956
- BrigInstBase base;
957
- BrigMemoryOrder8_t memoryOrder;
958
- BrigMemoryScope8_t globalSegmentMemoryScope;
959
- BrigMemoryScope8_t groupSegmentMemoryScope;
960
- BrigMemoryScope8_t imageSegmentMemoryScope;
961
- };
962
-
963
- struct BrigInstMod {
964
- BrigInstBase base;
965
- BrigAluModifier8_t modifier;
966
- BrigRound8_t round;
967
- BrigPack8_t pack;
968
- uint8_t reserved;
969
- };
970
-
971
- struct BrigInstQueryImage {
972
- BrigInstBase base;
973
- BrigType16_t imageType;
974
- BrigImageGeometry8_t geometry;
975
- BrigImageQuery8_t query;
976
- };
977
-
978
- struct BrigInstQuerySampler {
979
- BrigInstBase base;
980
- BrigSamplerQuery8_t query;
981
- uint8_t reserved[3];
982
- };
983
-
984
- struct BrigInstQueue {
985
- BrigInstBase base;
986
- BrigSegment8_t segment;
987
- BrigMemoryOrder8_t memoryOrder;
988
- uint16_t reserved;
989
- };
990
-
991
- struct BrigInstSeg {
992
- BrigInstBase base;
993
- BrigSegment8_t segment;
994
- uint8_t reserved[3];
995
- };
996
-
997
- struct BrigInstSegCvt {
998
- BrigInstBase base;
999
- BrigType16_t sourceType;
1000
- BrigSegment8_t segment;
1001
- BrigSegCvtModifier8_t modifier;
1002
- };
1003
-
1004
- struct BrigInstSignal {
1005
- BrigInstBase base;
1006
- BrigType16_t signalType;
1007
- BrigMemoryOrder8_t memoryOrder;
1008
- BrigAtomicOperation8_t signalOperation;
1009
- };
1010
-
1011
- struct BrigInstSourceType {
1012
- BrigInstBase base;
1013
- BrigType16_t sourceType;
1014
- uint16_t reserved;
1015
- };
1016
-
1017
- struct BrigOperandAddress {
1018
- BrigBase base;
1019
- BrigCodeOffset32_t symbol;
1020
- BrigOperandOffset32_t reg;
1021
- BrigUInt64 offset;
1022
- };
1023
-
1024
- struct BrigOperandAlign {
1025
- BrigBase base;
1026
- BrigAlignment8_t align;
1027
- uint8_t reserved[3];
1028
- };
1029
-
1030
- struct BrigOperandCodeList {
1031
- BrigBase base;
1032
- BrigDataOffsetCodeList32_t elements;
1033
- };
1034
-
1035
- struct BrigOperandCodeRef {
1036
- BrigBase base;
1037
- BrigCodeOffset32_t ref;
1038
- };
1039
-
1040
- struct BrigOperandConstantBytes {
1041
- BrigBase base;
1042
- BrigType16_t type;
1043
- uint16_t reserved;
1044
- BrigDataOffsetString32_t bytes;
1045
- };
1046
-
1047
- struct BrigOperandConstantOperandList {
1048
- BrigBase base;
1049
- BrigType16_t type;
1050
- uint16_t reserved;
1051
- BrigDataOffsetOperandList32_t elements;
1052
- };
1053
-
1054
- struct BrigOperandConstantImage {
1055
- BrigBase base;
1056
- BrigType16_t type;
1057
- BrigImageGeometry8_t geometry;
1058
- BrigImageChannelOrder8_t channelOrder;
1059
- BrigImageChannelType8_t channelType;
1060
- uint8_t reserved[3];
1061
- BrigUInt64 width;
1062
- BrigUInt64 height;
1063
- BrigUInt64 depth;
1064
- BrigUInt64 array;
1065
- };
1066
-
1067
- struct BrigOperandOperandList {
1068
- BrigBase base;
1069
- BrigDataOffsetOperandList32_t elements;
1070
- };
1071
-
1072
- struct BrigOperandRegister {
1073
- BrigBase base;
1074
- BrigRegisterKind16_t regKind;
1075
- uint16_t regNum;
1076
- };
1077
-
1078
- struct BrigOperandConstantSampler {
1079
- BrigBase base;
1080
- BrigType16_t type;
1081
- BrigSamplerCoordNormalization8_t coord;
1082
- BrigSamplerFilter8_t filter;
1083
- BrigSamplerAddressing8_t addressing;
1084
- uint8_t reserved[3];
1085
- };
1086
-
1087
- struct BrigOperandString {
1088
- BrigBase base;
1089
- BrigDataOffsetString32_t string;
1090
- };
1091
-
1092
- struct BrigOperandWavesize {
1093
- BrigBase base;
1094
- };
1095
-
1096
- typedef uint32_t BrigExceptions32_t;
1097
- enum BrigExceptionsMask {
1098
- BRIG_EXCEPTIONS_INVALID_OPERATION = 1 << 0,
1099
- BRIG_EXCEPTIONS_DIVIDE_BY_ZERO = 1 << 1,
1100
- BRIG_EXCEPTIONS_OVERFLOW = 1 << 2,
1101
- BRIG_EXCEPTIONS_UNDERFLOW = 1 << 3,
1102
- BRIG_EXCEPTIONS_INEXACT = 1 << 4,
1103
-
1104
- BRIG_EXCEPTIONS_FIRST_USER_DEFINED = 1 << 16
1105
- };
1106
-
1107
- struct BrigSectionHeader {
1108
- uint64_t byteCount;
1109
- uint32_t headerByteCount;
1110
- uint32_t nameLength;
1111
- uint8_t name[1];
1112
- };
1113
-
1114
- struct BrigModuleHeader {
1115
- char identification[8];
1116
- BrigVersion32_t brigMajor;
1117
- BrigVersion32_t brigMinor;
1118
- uint64_t byteCount;
1119
- uint8_t hash[64];
1120
- uint32_t reserved;
1121
- uint32_t sectionCount;
1122
- uint64_t sectionIndex;
1123
- };
1124
-
1125
- typedef BrigModuleHeader* BrigModule_t;
1126
-
1127
- #ifdef __cplusplus
1128
- }
1129
- #endif /*__cplusplus*/
1130
-
1131
- #endif // defined(INCLUDED_BRIG_H)