nest / nestml

A domain specific language for neuron and synapse models in spiking neural network simulation
GNU General Public License v2.0
46 stars 45 forks source link

Run context condition checks only once, after model parsing #1105

Open clinssen opened 1 week ago

clinssen commented 1 week ago

This is a spin-off from #1050.

Refactor cocos such that they run only once, after model parsing.

Fixes some other bugs that emerged as part of this refactor. For instance, two cocos turned out to actually make needed changes to the model; the modification part has now been spun off to the new AssignImplicitConversionFactorsTransformer. (I can also make the transformer into a pure visitor; please let me know if you prefer this approach.)

Changes order of operations in compartmental code generator: to prevent symbol not found error, add propagator variable first, then add the update expressions that reference this variable.

github-actions[bot] commented 6 days ago

🐰 Bencher Report

Branch1105/merge
Testbedubuntu-latest

⚠️ WARNING: The following Measure does not have a Threshold. Without a Threshold, no Alerts will ever be generated!

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds CLI flag.

Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
bencher::mock_0📈 view plot
⚠️ NO THRESHOLD
1.66
bencher::mock_1📈 view plot
⚠️ NO THRESHOLD
18.37
bencher::mock_2📈 view plot
⚠️ NO THRESHOLD
25.10
bencher::mock_3📈 view plot
⚠️ NO THRESHOLD
34.59
bencher::mock_4📈 view plot
⚠️ NO THRESHOLD
45.70
🐰 View full continuous benchmarking report in Bencher
github-actions[bot] commented 4 days ago

🐰 Bencher Report

Branch1105/merge
Testbedubuntu-latest

⚠️ WARNING: The following Measure does not have a Threshold. Without a Threshold, no Alerts will ever be generated!

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds CLI flag.

Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
tests/nest_continuous_benchmarking/test_nest_continuous_benchmarking.py::TestNESTContinuousBenchmarking::test_stdp_nn_synapse📈 view plot
⚠️ NO THRESHOLD
4,064,363,218.20
🐰 View full continuous benchmarking report in Bencher