-
Notifications
You must be signed in to change notification settings - Fork 125
Default node order is cell contiguous (except for thread rootnodes). #3300
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
Conversation
✔️ 4f6cba4 -> Azure artifacts URL |
|
✔️ 67edba4 -> Azure artifacts URL |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3300 +/- ##
==========================================
- Coverage 68.34% 68.34% -0.01%
==========================================
Files 682 682
Lines 116580 116572 -8
==========================================
- Hits 79680 79672 -8
Misses 36900 36900 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
✔️ 67edba4 -> artifacts URL |
✔️ 4a69c68 -> artifacts URL |
✔️ 4a69c68 -> Azure artifacts URL |
✔️ 170d40e -> artifacts URL |
✔️ b62acb7 -> artifacts URL |
✔️ b62acb7 -> Azure artifacts URL |
✔️ 595a3b4 -> artifacts URL |
✔️ 3d8a428 -> Azure artifacts URL |
|
✔️ 63b49b9 -> Azure artifacts URL |
✔️ 63b49b9 -> artifacts URL |
Default cell contiguity on top of #3299 implies that in general,
CvMemList.ml.size() == 1
for each cell. The exceptionsare that
CvMembList.ml.size() == 2
whenever the extracellular mechanism is present or if a synapse (of the same type) is located both in the cell rootnode and somewhere else on the cell (note that cell rootnodes for a thread are adjacent).The node ordering of each cell (after the root node) is section depth first.
This ordering fixes most of the performance loss with respect to 8.2. With the intel compiler, performance of the ringtest with
nrniv -python ringtest.py -rparm -nring 32 -npt 1 -compart 1 3 -method 2 -2nd_order_thresh
isI speculate that the remainder of the performance issue is the use of DataHandle during sim time instead of raw
double*
and that will be dealt with in subsequent pull requests.I would like this PR to be reviewed as a change to #3299 but not merged. It can be merged to the master after #3299 is merged into the master.