-
Notifications
You must be signed in to change notification settings - Fork 57
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
Group merged refactor #475
Conversation
Codecov Report
@@ Coverage Diff @@
## master #475 +/- ##
==========================================
- Coverage 87.52% 87.46% -0.06%
==========================================
Files 78 82 +4
Lines 17278 17266 -12
==========================================
- Hits 15122 15102 -20
- Misses 2156 2164 +8
Continue to review full report at Codecov.
|
This reverts commit ad9846a.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I have lost track of how the code generation works after the group merging and splitting to backends etc. I have to trust you on this one.
This has been annoying me for a while but I was faced with defining and passing through yet another callback and I decided to fix it. Basically, in GeNN 4 I split the generic code generation from the backend-specific code generation using a callback system like:
This made sense as there was no code-generation level object where this stuff could go. However, since adding support for kernel merging, the (slightly nightmarish)
GroupMerged
class hierarchy fits the bill exactly so all these callbacks can instead be added as methods to the appropriateGroupMerged
classes. This tidies up a whole load of stuff and reduces the pain of adding new functionality:BackendBase
BackendBase
interface no longer needs updating and the main generating functions no longer need dozens of arguments: