You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, there are multiple kernels that require or could be optimized when having the number of spiking neurons on the host and each kernel calls their own cudaMemcpy or would have to.
Instead, implement an asynchronous cudaMemcpy from device to host after all thresholders (for any spike or event condition) are run.
Move the event counters for all eventspaces into a single contiguous array, such that one copy can copy all counters for multiple eventspaces at once. This would require changing the access to the counter variable in some kernels, but should be easy to do.
Detect from Python side which kernel will be the first to require the counter variables. That kernel should that synchronize with the asynchronous copy call. Also detect if no kernel requires the counters and don't copy in that case.
Related issues that would benefit or could be closed by this:
Currently, there are multiple kernels that require or could be optimized when having the number of spiking neurons on the host and each kernel calls their own
cudaMemcpy
or would have to.Instead, implement an asynchronous
cudaMemcpy
from device to host after all thresholders (for any spike or event condition) are run.Related issues that would benefit or could be closed by this:
PopulationRateMonitor
#285The text was updated successfully, but these errors were encountered: