neuronsimulator / nrn

NEURON Simulator
http://nrn.readthedocs.io
Other
389 stars 115 forks source link

Remove references to AoS layout in CoreNEURON. #2828

Open 1uc opened 5 months ago

1uc commented 5 months ago

CoreNEURON used to be able to handle the situation where some MOD files used AoS and others SoA. The functionality was removed here: https://github.com/BlueBrain/CoreNeuron/pull/675

However, there's still traces left. For example: https://github.com/neuronsimulator/nrn/blob/65767ec7b520f6e9284c9853074f12f67de22202/src/coreneuron/coreneuron.hpp#L170 https://github.com/neuronsimulator/nrn/blob/65767ec7b520f6e9284c9853074f12f67de22202/src/coreneuron/io/mem_layout_util.cpp#L34-L35

We can reduce the complexity of the code by removing these. One way might be to remove the method get_mech_data_layout and then let the compiler identify all the locations that need changing.

mgeplf commented 3 months ago

First pass here: https://github.com/neuronsimulator/nrn/pull/2889 Need to go through more carefully on my end, so no need to look (but feel free).

1uc commented 3 months ago

It's a slightly more involved process, since some code that should be simplified is still used with Layout::AoS.

1uc commented 3 months ago

Second attempt here: #2895.