-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parallelize synaptic effects application in target
mode for heterogeneous delays WITHOUT bundle mode and WITHOUT atomics
#15
Comments
first approach: not bitonic sort but instead: |
for the finally targeted more advanced approach of sorting of synapses (value array in shared memory) according to postsynaptic neurons (key array in shared memory) for coalesced application of synaptic effects the following code snippet might be very helpful (actually a radixsort instead of a bitonic sort is performed which should be fast enough). note the code relies on https://nvlabs.github.io/cub/classcub_1_1_block_radix_sort.html where also simple/more readable examples are given: http://stackoverflow.com/a/34607511 |
do this approach onlz if the bundle way is slower... as that one is trivially parallizable in the effect application (given not more than 1 pre post pair) |
target
mode for heterogeneous delays WITHOUT bundle mode
We are using the bundle mode by default now as it is faster in most use cases. We are keeping the synapse push mode as a user preference, therefore this issue stays open. But it is only relevant it we don't use bundles AND can't use atomics (#78). It has therefore low priority for now. |
Check #30, which seems to be the same issue as this one. |
target
mode for heterogeneous delays WITHOUT bundle modetarget
mode for heterogeneous delays WITHOUT bundle mode and WITHOUT atomics
EDIT by denisalevi:
Summary: sort synapse IDs in spike queues by post neuron IDs and use
thread <-> postNeuron
correspondence.currently as the current synapse queue contains synapse ids for which the synaptic effects have to be applied. this is done in a sequential fashion for each block.
[see denis comment for the first attempt too]
we should make it parallel for each block by
The text was updated successfully, but these errors were encountered: