Skip to content

Performance optimisations for the compartmental feature. (WIP)#1319

Draft
LeanderEwert wants to merge 474 commits intonest:mainfrom
LeanderEwert:origin/LeanderEwert_cm_optimized
Draft

Performance optimisations for the compartmental feature. (WIP)#1319
LeanderEwert wants to merge 474 commits intonest:mainfrom
LeanderEwert:origin/LeanderEwert_cm_optimized

Conversation

@LeanderEwert
Copy link
Copy Markdown
Collaborator

Various performance optimisations for the cm feature, including streamlined data movement, a more SIMD-friendly variable layout, common sub-expression elimination across multiple expressions, and a more efficient synapse implementation.

WillemWybo and others added 30 commits September 14, 2022 12:39
…ompartmental_model_test.py as it creates issues on some systems
Fix compartmental models code generator after printers refactor
…ocessing.py excluding explicitly formulated ODEs from syn_info.

State of functionality: Succesfull codegeneration and compilation. Segfault during simulation.
…on synaptic functions dont break synapse models anymore.

State of functionality: Almost fully working. Explicitly written ODEs for synapses not supported yet. (next up)
… close to zero to skip calculation of step-function.

State of functionality: Almost fully working. Explicitly written ODEs for synapses not supported yet. (next up)
…ion changed to be done by decorators.

Concentration mechanism imlplementation and unification of mechanism info collection in progress.
…ion changed to be done by decorators.

Concentration mechanism imlplementation and unification of mechanism info collection in progress.
…erEwert

# Conflicts:
#	doc/fig/nestml_clip_art.png
#	doc/fig/synapse_conceptual.png
#	pynestml/codegeneration/resources_nest/point_neuron/directives/CommonPropertiesDictionaryReader.jinja2
#	pynestml/frontend/frontend_configuration.py
#	pynestml/frontend/pynestml_frontend.py
#	pynestml/generated/PyNestMLLexer.py
#	pynestml/generated/PyNestMLParser.interp
#	pynestml/generated/PyNestMLParser.py
#	pynestml/generated/PyNestMLParserVisitor.py
#	pynestml/utils/messages.py
#	pynestml/visitors/ast_symbol_table_visitor.py
#	tests/cocos_test.py
…stem. ToDo: Completing commenting and removing legacy code-parts and inline debugging code.
-Compile warnings fixed.
-v_comp nestml state excluded from becoming mechanism state.
-syns_info_enricher structure aligned to other mechanism enrichers.
-debugging code removed
-antlr4-python3-runtime set to 4.12 (from 4.10) in requirements.txt to remove missmatch warnings.
@github-actions
Copy link
Copy Markdown

🐰 Bencher Report

Branch1319/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 (🔔)
3.99 s
(+18.12%)Baseline: 3.38 s
3.72 s
(107.38%)

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 (🔔)
3.99 s
(+18.12%)Baseline: 3.38 s
3.72 s
(107.38%)

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.28 s
(-2.56%)Baseline: 3.37 s
3.71 s
(88.58%)

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.35 s
(-0.57%)Baseline: 3.37 s
3.71 s
(90.39%)

🐰 View full continuous benchmarking report in Bencher

@clinssen clinssen marked this pull request as draft February 17, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants