Skip to content

Commit 0678427

Browse files
ikawrakowIwan Kawrakow
andauthored
Adding forgotten file (#583)
Co-authored-by: Iwan Kawrakow <[email protected]>
1 parent 235c989 commit 0678427

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#version 450
2+
3+
#include "types.comp"
4+
5+
#extension GL_EXT_shader_16bit_storage : require
6+
#extension GL_EXT_control_flow_attributes : enable
7+
8+
layout (push_constant) uniform parameter
9+
{
10+
uint ne;
11+
uint ne0;
12+
uint ne1;
13+
uint nb1;
14+
uint nb01;
15+
uint nadd;
16+
} p;
17+
18+
layout(local_size_x = 512, local_size_y = 1, local_size_z = 1) in;
19+
20+
layout (binding = 0) readonly buffer X {A_TYPE data_a[];};
21+
layout (binding = 1) writeonly buffer D {D_TYPE data_d[];};
22+
23+
void main() {
24+
const uint i = gl_GlobalInvocationID.z * 262144 + gl_GlobalInvocationID.y * 512 + gl_GlobalInvocationID.x;
25+
26+
if (i >= p.ne) {
27+
return;
28+
}
29+
30+
uint i1 = i / p.ne0;
31+
uint i0 = i % p.ne0;
32+
33+
float sum = data_a[i1*p.nb01 + i0] + data_a[i1*p.nb01 + i0 + p.ne0];
34+
for (int j = 2; j < p.nadd; ++j) sum += data_a[i1*p.nb01 + i0 + j*p.ne0];
35+
36+
data_d[i1*p.nb1 + i0] = D_TYPE(sum);
37+
}

0 commit comments

Comments
 (0)