| #version 450 core |
| #extension GL_KHR_memory_scope_semantics : enable
|
| #extension GL_NV_cooperative_matrix : enable
|
| #extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
|
|
|
| #pragma use_variable_pointers
|
|
|
| layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; |
|
|
| layout(set = 0, binding = 0) coherent buffer Block {
|
| float y[1024*1024];
|
| float x[];
|
| } block;
|
|
|
|
|
| void main() |
| { |
| fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> m = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(0.0);
|
|
|
| m = m + m;
|
| m = m - m;
|
| m = -m;
|
| m = 2.0*m;
|
| m = m*2.0;
|
|
|
| coopMatLoadNV(m, block.x, 16, 128, false);
|
| coopMatStoreNV(m, block.x, 16, 128, false);
|
| } |