see the kpn-t
module for the training part. the weights
lut produced by the latter module should be plugged into here.
this is mainly a proof of concept work that tiny mlp and cooperative matrices work in vulkan, in the hope that the code will be useful in more interesting applications. it's currently very rough code and only works for 16x16x16 f16 matrix multiplications with a subgroup size of 32 (i.e. nvidia devices RTX 20xx+, but amd and intel might follow).
all the credit for the index madness goes to thomas mueller for tiny-cuda-nn which i just ported to vulkan/glsl.
input
the noisy image to work on, in camera rgb scaled to [0,1] range but not clipped at 0output
the denoised imagew
the weights for the neural network