Skip to content

Cleanup of the postsynaptic trace transformer used in NEST code generation#1318

Draft
clinssen wants to merge 5 commits intonest:masterfrom
clinssen:post-transformer-cleanup
Draft

Cleanup of the postsynaptic trace transformer used in NEST code generation#1318
clinssen wants to merge 5 commits intonest:masterfrom
clinssen:post-transformer-cleanup

Conversation

@clinssen
Copy link
Contributor

@clinssen clinssen commented Feb 12, 2026

This is preliminary work for the corresponding presynaptic trace transformer that will be added for the SpiNNaker code generation target.

Change lists to sets and de-duplicate methods from neuron-synapse co-generation-related transformers into a separate utils class.

Additionally, refactor the way that extra attributes and information about the model is stored in an extra "metadata" data structure, which, for every model, maps named attributes to values. (This is currently done by setting extra attributes on the neuron and synapse ASTModel class instances, which is very dirty.) The idea is that each transformer accepts metadata and can add metadata for each model using its own set of unique key/value mappings.

Screenshot_20260225_175039

@clinssen clinssen marked this pull request as draft February 12, 2026 14:10
@github-actions
Copy link

github-actions bot commented Feb 12, 2026

🐰 Bencher Report

Branch1318/merge
Testbedubuntu-latest

🚨 1 Alert

IterationBenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Upper Boundary
(Limit %)
0tests/nest_continuous_benchmarking/test_nest_continuous_benchmarking.py::TestNESTContinuousBenchmarking::test_stdp_nn_synapseLatency
seconds (s)
📈 plot
🚷 threshold
🚨 alert (🔔)
4.06 s
(+20.13%)Baseline: 3.38 s
3.72 s
(109.21%)

Click to view all benchmark results
BenchmarkLatencyBenchmark Result
seconds (s)
(Result Δ%)
Upper Boundary
seconds (s)
(Limit %)
tests/nest_continuous_benchmarking/test_nest_continuous_benchmarking.py::TestNESTContinuousBenchmarking::test_stdp_nn_synapse📈 view plot
🚷 view threshold
🚨 view alert (🔔)
4.06 s
(+20.13%)Baseline: 3.38 s
3.72 s
(109.21%)

BenchmarkLatencyBenchmark Result
seconds (s)
(Result Δ%)
Upper Boundary
seconds (s)
(Limit %)
tests/nest_continuous_benchmarking/test_nest_continuous_benchmarking.py::TestNESTContinuousBenchmarking::test_stdp_nn_synapse📈 view plot
🚷 view threshold
🚨 view alert (🔔)
3.27 s
(-2.90%)Baseline: 3.37 s
3.71 s
(88.27%)

BenchmarkLatencyBenchmark Result
seconds (s)
(Result Δ%)
Upper Boundary
seconds (s)
(Limit %)
tests/nest_continuous_benchmarking/test_nest_continuous_benchmarking.py::TestNESTContinuousBenchmarking::test_stdp_nn_synapse📈 view plot
🚷 view threshold
🚨 view alert (🔔)
3.27 s
(-2.89%)Baseline: 3.37 s
3.71 s
(88.28%)

🐰 View full continuous benchmarking report in Bencher


return neurons, synapses

@classmethod
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or whould these methods better go in NESTCodeGeneratorUtils?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can keep the post port-based methods here and move the vt port methods to NESTCodeGeneratorUtils.

@clinssen clinssen requested a review from pnbabu February 15, 2026 23:34
@clinssen clinssen marked this pull request as ready for review February 15, 2026 23:35
@clinssen clinssen marked this pull request as draft February 18, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants