1#version 450 core 2#extension GL_KHR_memory_scope_semantics : enable 3#extension GL_NV_cooperative_matrix : enable 4#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable 5 6#pragma use_variable_pointers 7 8layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; 9 10layout(set = 0, binding = 0) coherent buffer Block { 11 float y[1024*1024]; 12 float x[]; 13} block; 14 15 16void main() 17{ 18 fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> m = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(0.0); 19 20 m = m + m; 21 m = m - m; 22 m = -m; 23 m = 2.0*m; 24 m = m*2.0; 25 26 coopMatLoadNV(m, block.x, 16, 128, false); 27 coopMatStoreNV(m, block.x, 16, 128, false); 28} 29