Implement GL_NV_cooperative_matrix
This commit is contained in:
parent
ec484527b6
commit
4605e2ed2b
37 changed files with 5630 additions and 4211 deletions
28
Test/spv.1.3.coopmat.comp
Normal file
28
Test/spv.1.3.coopmat.comp
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#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);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue