Lines Matching refs:gpu

7 module attributes {gpu.container_module} {
11 …// CHECK: gpu.launch blocks(%{{.*}}, %{{.*}}, %{{.*}}) in (%{{.*}} = %{{.*}}, %{{.*}} = %{{.*}}, %…
12 gpu.launch blocks(%bx, %by, %bz) in (%grid_x = %sz, %grid_y = %sz, %grid_z = %sz)
14 // CHECK: gpu.terminator
15 gpu.terminator
22 …// CHECK: gpu.launch blocks(%{{.*}}, %{{.*}}, %{{.*}}) in (%{{.*}} = %{{.*}}, %{{.*}} = %{{.*}}, %…
23 gpu.launch blocks(%bx, %by, %bz) in (%grid_x = %blk, %grid_y = %blk, %grid_z = %blk)
27 // CHECK: gpu.terminator
28 gpu.terminator
35 …// CHECK: gpu.launch async [%{{.+}}] blocks(%{{.*}}, %{{.*}}, %{{.*}}) in (%{{.*}} = %{{.*}}, %{{.…
36 %t = gpu.wait async
37 …%name = gpu.launch async [%t] blocks(%arg0, %arg1, %arg2) in (%grid_x = %blk, %grid_y = %blk, %gri…
39 gpu.terminator
46 …// CHECK: %{{.*}} = gpu.launch async blocks(%{{.*}}, %{{.*}}, %{{.*}}) in (%{{.*}} = %{{.*}}, %{{.…
47 …%t0 = gpu.launch async blocks(%arg0, %arg1, %arg2) in (%grid_x = %blk, %grid_y = %blk, %grid_z = %…
49 gpu.terminator
51 …// CHECK: gpu.launch async blocks(%{{.*}}, %{{.*}}, %{{.*}}) in (%{{.*}} = %{{.*}}, %{{.*}} = %{{.…
52 …%t1 = gpu.launch async [] blocks(%arg0, %arg1, %arg2) in (%grid_x = %blk, %grid_y = %blk, %grid_z …
54 gpu.terminator
59 gpu.module @kernels {
60 gpu.func @kernel_1(%arg0 : f32, %arg1 : memref<?xf32, 1>) kernel {
61 %tIdX = gpu.thread_id x
62 %tIdY = gpu.thread_id y
63 %tIdZ = gpu.thread_id z
65 %bDimX = gpu.block_dim x
66 %bDimY = gpu.block_dim y
67 %bDimZ = gpu.block_dim z
69 %bIdX = gpu.block_id x
70 %bIdY = gpu.block_id y
71 %bIdZ = gpu.block_id z
73 %gDimX = gpu.grid_dim x
74 %gDimY = gpu.grid_dim y
75 %gDimZ = gpu.grid_dim z
77 %gIdX = gpu.global_id x
78 %gIdY = gpu.global_id y
79 %gIdZ = gpu.global_id z
81 %sgId = gpu.subgroup_id : index
82 %numSg = gpu.num_subgroups : index
83 %SgSi = gpu.subgroup_size : index
86 %sum = gpu.all_reduce add %one {} : (f32) -> (f32)
90 // CHECK: gpu.shuffle xor %{{.*}}, %{{.*}}, %{{.*}} : f32
91 %shfl, %pred = gpu.shuffle xor %arg0, %offset, %width : f32
92 // CHECK: gpu.shuffle up %{{.*}}, %{{.*}}, %{{.*}} : f32
93 %shfl1, %pred1 = gpu.shuffle up %arg0, %offset, %width : f32
94 // CHECK: gpu.shuffle down %{{.*}}, %{{.*}}, %{{.*}} : f32
95 %shfl2, %pred2 = gpu.shuffle down %arg0, %offset, %width : f32
96 // CHECK: gpu.shuffle idx %{{.*}}, %{{.*}}, %{{.*}} : f32
97 %shfl3, %pred3 = gpu.shuffle idx %arg0, %offset, %width : f32
99 "gpu.barrier"() : () -> ()
103 gpu.return
106 gpu.func @kernel_2() kernel {
107 gpu.return
117 %t0 = gpu.wait async
119 …// CHECK: gpu.launch_func @kernels::@kernel_1 blocks in (%{{.*}}, %{{.*}}, %{{.*}}) threads in (%{…
120gpu.launch_func @kernels::@kernel_1 blocks in (%cst, %cst, %cst) threads in (%cst, %cst, %cst) arg…
122gpu.launch_func @kernels::@kernel_1 blocks in (%cst, %cst, %cst) threads in (%cst, %cst, %cst) dyn…
124 …// CHECK: gpu.launch_func @kernels::@kernel_2 blocks in (%{{.*}}, %{{.*}}, %{{.*}}) threads in (%{…
125 gpu.launch_func @kernels::@kernel_2 blocks in (%cst, %cst, %cst) threads in (%cst, %cst, %cst)
127 …// CHECK: %{{.*}} = gpu.launch_func async [%{{.*}}] @kernels::@kernel_2 blocks in (%{{.*}}, %{{.*}…
128 …%t1 = gpu.launch_func async [%t0] @kernels::@kernel_2 blocks in (%cst, %cst, %cst) threads in (%c…
133 gpu.module @gpu_funcs {
134 // CHECK-LABEL: gpu.func @kernel_1({{.*}}: f32)
138 gpu.func @kernel_1(%arg0: f32)
146 gpu.return
149 // CHECK-LABEL gpu.func @printf_test
151 // CHECK: gpu.printf "Value: %d" %[[ARG0]] : i32
152 gpu.func @printf_test(%arg0 : i32) {
153 gpu.printf "Value: %d" %arg0 : i32
154 gpu.return
157 // CHECK-LABEL: gpu.func @no_attribution
159 gpu.func @no_attribution(%arg0: f32) {
160 gpu.return
166 gpu.func @no_attribution_attrs(%arg0: f32) attributes {foo="bar"} {
167 gpu.return
173 gpu.func @workgroup_only() workgroup(%arg0: memref<42xf32, 3>) {
174 gpu.return
179 gpu.func @private_only() private(%arg0: memref<2xf32, 5>) {
180 gpu.return
185 gpu.func @empty_attribution(%arg0: f32) workgroup() private() {
186 gpu.return
190 gpu.module @explicit_attributions {
191 …// CHECK-LABEL: gpu.func @kernel_1({{.*}}: f32, {{.*}}: memref<?xf32>) workgroup({{.*}}: memref<5x…
192 "gpu.func"() ({
194 "gpu.return"() : () -> ()
195 …} ) {function_type = (f32, memref<?xf32>) -> (), gpu.kernel, sym_name = "kernel_1", workgroup_attr…
201 // CHECK: %[[m0:.*]] = gpu.alloc () : memref<13xf32, 1>
202 %m0 = gpu.alloc () : memref<13xf32, 1>
203 // CHECK: gpu.dealloc %[[m0]] : memref<13xf32, 1>
204 gpu.dealloc %m0 : memref<13xf32, 1>
206 %t0 = gpu.wait async
207 // CHECK: %[[m1:.*]], %[[t1:.*]] = gpu.alloc async [{{.*}}] () : memref<13xf32, 1>
208 %m1, %t1 = gpu.alloc async [%t0] () : memref<13xf32, 1>
209 // CHECK: gpu.dealloc async [%[[t1]]] %[[m1]] : memref<13xf32, 1>
210 %t2 = gpu.dealloc async [%t1] %m1 : memref<13xf32, 1>
215 func.func @async_token(%arg0 : !gpu.async.token) -> !gpu.async.token {
216 // CHECK-LABEL: func @async_token({{.*}}: !gpu.async.token)
217 // CHECK: return {{.*}} : !gpu.async.token
218 return %arg0 : !gpu.async.token
223 // CHECK: %[[t0:.*]] = gpu.wait async
224 %0 = gpu.wait async
225 // CHECK: %[[t1:.*]] = gpu.wait async [%[[t0]]]
226 %1 = gpu.wait async [%0]
227 // CHECK: %{{.*}} = gpu.wait async [%[[t0]], %[[t1]]]
228 %2 = gpu.wait async [%0, %1]
229 // CHECK: gpu.wait [%[[t0]], %[[t1]]]
231 gpu.wait [%0, %1]
232 // CHECK: gpu.wait
234 gpu.wait // Valid, but a no-op.
240 // CHECK: gpu.memcpy {{.*}}, {{.*}} : memref<3x7xf32>, memref<3x7xf32, 1>
241 gpu.memcpy %dst, %src : memref<3x7xf32>, memref<3x7xf32, 1>
242 // CHECK: %[[t0:.*]] = gpu.wait async
243 %0 = gpu.wait async
244 … // CHECK: {{.*}} = gpu.memcpy async [%[[t0]]] {{.*}}, {{.*}} : memref<3x7xf32>, memref<3x7xf32, 1>
245 %1 = gpu.memcpy async [%0] %dst, %src : memref<3x7xf32>, memref<3x7xf32, 1>
251 // CHECK: gpu.memset {{.*}}, {{.*}} : memref<3x7xf32>, f32
252 gpu.memset %dst, %value : memref<3x7xf32>, f32
253 // CHECK: %[[t0:.*]] = gpu.wait async
254 %0 = gpu.wait async
255 // CHECK: {{.*}} = gpu.memset async [%[[t0]]] {{.*}}, {{.*}} : memref<3x7xf32>, f32
256 %1 = gpu.memset async [%0] %dst, %value : memref<3x7xf32>, f32
268 …%0 = gpu.subgroup_mma_load_matrix %wg[%i, %i] {leadDimension = 32 : index} : memref<32x32xf16, 3> …
269 …// CHECK: gpu.subgroup_mma_load_matrix %[[wg]][%[[i]], %[[i]]] {leadDimension = 32 : index} : memr…
270 …%s = gpu.subgroup_mma_load_matrix %src[%i, %i] {leadDimension = 64 : index} : memref<32x32xf16, af…
271 …// CHECK: gpu.subgroup_mma_load_matrix %{{.*}}[%[[i]], %[[i]]] {leadDimension = 64 : index} : memr…
272 %1 = gpu.subgroup_mma_constant_matrix %cst : !gpu.mma_matrix<16x16xf32, "COp">
273 …// CHECK: gpu.subgroup_mma_elementwise addf %{{.*}}, %{{.*}} : (!gpu.mma_matrix<16x16xf32, "COp">,…
274 …%2 = gpu.subgroup_mma_elementwise addf %1, %1 : (!gpu.mma_matrix<16x16xf32, "COp">, !gpu.mma_matri…
275 …// CHECK: gpu.subgroup_mma_elementwise maxf %{{.*}}, %{{.*}} : (!gpu.mma_matrix<16x16xf32, "COp">,…
276 …%3 = gpu.subgroup_mma_elementwise maxf %2, %1 : (!gpu.mma_matrix<16x16xf32, "COp">, !gpu.mma_matri…
282 // CHECK: gpu.set_default_device
283 gpu.set_default_device %arg0