corenrn permute for reports - #3587
Conversation
|
✔️ fb544b3 -> artifacts URL |
|
✔️ fb544b3 -> Azure artifacts URL |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3587 +/- ##
==========================================
- Coverage 68.50% 68.49% -0.01%
==========================================
Files 686 686
Lines 116754 116758 +4
==========================================
- Hits 79978 79971 -7
- Misses 36776 36787 +11 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
✔️ 4509cae -> artifacts URL |
|
✔️ 4509cae -> Azure artifacts URL |
… (gpu)}`. Neurodamus at the moment is not leveraging this. We should allow users to set this. **Note:** this is different from `cell-permute` for neuron (9+ only). I may enable that in the future. In that case this will become useless legacy code. At any rate, neuron 9 is new and not fully used everywhere. Proceeding step by step, enabling `cell-permute` in coreneuron is the next logical step * add option in CLI and in the python bindings * test that it is written in `sim.conf` * test that `integration-e2e/test_reports.py` is unaffected * add test in `test_reports.py`. I am using [this](neuronsimulator/nrn#3587) locally. It will fail in the CI until that one is merged
That would only be possible if you loaded the file after the permutation was calculated. I suppose that means |
|
@nrnhines ok. I will revisit if this starts to be a problem |



Context
Until now, corenrn reports were not really addressing corenrn permutations. They were not tested too since cell_permute is hardcoded to 0 in neurodamus.
Scope
This small pr fixes this to the root (where possible).
compartment sets report: in this case the report passes manually the node indexes. At the loading momentNrnThreadis empty and I cannot do the node conversion on the spot (@nrnhines if you know of a better way I would actually prefer to permute immediately, when I load this file. I mean inreport_configuration_parser.cpp. Let me know if you want a zoom call). For this reason the permutation is done inget_compartment_set_vars_to_reportcell_mapping. We apply the permutation as soon as we load the indexes in memory thus nobody can uses stale values. This is done largely inphase3.cpp.Tests
This was already successfully tested manually in neurodamus for all the reports (lfp included).
Note
This pr does not block nor is blocked by the neurodamus side. Current neurodamus has hardcoded
cell_permute = 0and this pr should not change anything if cell_permute is 0