genn-team / genn

GeNN is a GPU-enhanced Neuronal Network simulation environment based on code generation for Nvidia CUDA.
http://genn-team.github.io/
GNU Lesser General Public License v2.1
233 stars 57 forks source link

Small constant cache fix #589

Closed neworderofjamie closed 1 year ago

neworderofjamie commented 1 year ago

When I fixed a race condition in the system for tracking neuron's previous spike time in #414, I added a new kernel which had an associated new array of indices used for the binary search amongst merged groups. Because of the memory access pattern of the binary search, these take first priority when the 64KB of constant cache is handed out. However, I forgot to take these indices into account, meaning that models with lots of neuron and synapse groups and learning rules using previous spike times could overrun the constant cache.

Fixes #588

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 100.00% and no project coverage change.

Comparison is base (cf51800) 88.79% compared to head (b78f2f6) 88.80%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #589 +/- ## ======================================= Coverage 88.79% 88.80% ======================================= Files 76 76 Lines 12428 12429 +1 ======================================= + Hits 11036 11037 +1 Misses 1392 1392 ``` | [Impacted Files](https://app.codecov.io/gh/genn-team/genn/pull/589?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=genn-team) | Coverage Δ | | |---|---|---| | [src/genn/backends/cuda/backend.cc](https://app.codecov.io/gh/genn-team/genn/pull/589?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=genn-team#diff-c3JjL2dlbm4vYmFja2VuZHMvY3VkYS9iYWNrZW5kLmNj) | `80.39% <100.00%> (+0.01%)` | :arrow_up: |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.