This produces precise specializations based on the level of dynamism in use vs punning everything to fully dynamic. As a byproduct, this fixes a bug where some conv/sum kernels did not have a function signature that was sufficiently specialized, resulting in aliasing and bad kernel selection.
This produces precise specializations based on the level of dynamism in use vs punning everything to fully dynamic. As a byproduct, this fixes a bug where some conv/sum kernels did not have a function signature that was sufficiently specialized, resulting in aliasing and bad kernel selection.