Open amnsbr opened 9 months ago
As a quick fix I tried this within the global input calculation kernels: if (_SC[k] != 0) { // do calculations }
. But it decreased performance for both rWW and Kuramoto.
Therefore the more proper way should be done, by converting the square SC matrix into a 2D array in which 0 connections are removed, and then we keep track of which nodes are connected to which. It is unclear if this will eventually be beneficial for performance since it'll require using additional registers etc. to do this on GPU.
Currently in the integration loop
tmpglobalinput
to each nodej
is calculated by looping through all other nodesk
and adding upSC[j,k] * S_E[k]
even ifSC[j,k]
is zero. Skipping non-existent (zero) connections may increase efficiency, particularly in thresholded SCs.