Integrate over integration-domains instead of cells in the lowered/back-end implementation (#688)
Fixes #683. * Distinguish between per-cell matrix solver and per-'integration domain' state in the FVM back-end, adding new index for FVM back-ends mapping CVs to integration domain index. * Move to one event queue per integration domain, avoiding extra logic for synchronisation of times across gap-junction connected cells. This requires a merging of event lanes in `mc_cell_group` when constructing the staged events in the multi-event queue. * Add synapses to gap junction example.
Showing
- arbor/backends/event.hpp 4 additions, 4 deletionsarbor/backends/event.hpp
- arbor/backends/gpu/fvm.hpp 1 addition, 1 deletionarbor/backends/gpu/fvm.hpp
- arbor/backends/gpu/matrix_assemble.cu 12 additions, 8 deletionsarbor/backends/gpu/matrix_assemble.cu
- arbor/backends/gpu/matrix_fine.cu 6 additions, 4 deletionsarbor/backends/gpu/matrix_fine.cu
- arbor/backends/gpu/matrix_fine.hpp 2 additions, 1 deletionarbor/backends/gpu/matrix_fine.hpp
- arbor/backends/gpu/matrix_state_fine.hpp 9 additions, 4 deletionsarbor/backends/gpu/matrix_state_fine.hpp
- arbor/backends/gpu/matrix_state_flat.hpp 13 additions, 8 deletionsarbor/backends/gpu/matrix_state_flat.hpp
- arbor/backends/gpu/matrix_state_interleaved.hpp 12 additions, 7 deletionsarbor/backends/gpu/matrix_state_interleaved.hpp
- arbor/backends/gpu/mechanism.cpp 1 addition, 1 deletionarbor/backends/gpu/mechanism.cpp
- arbor/backends/gpu/shared_state.cpp 16 additions, 24 deletionsarbor/backends/gpu/shared_state.cpp
- arbor/backends/gpu/shared_state.cu 6 additions, 33 deletionsarbor/backends/gpu/shared_state.cu
- arbor/backends/gpu/shared_state.hpp 8 additions, 13 deletionsarbor/backends/gpu/shared_state.hpp
- arbor/backends/gpu/threshold_watcher.cu 4 additions, 4 deletionsarbor/backends/gpu/threshold_watcher.cu
- arbor/backends/gpu/threshold_watcher.hpp 5 additions, 5 deletionsarbor/backends/gpu/threshold_watcher.hpp
- arbor/backends/multicore/fvm.hpp 1 addition, 1 deletionarbor/backends/multicore/fvm.hpp
- arbor/backends/multicore/matrix_state.hpp 9 additions, 5 deletionsarbor/backends/multicore/matrix_state.hpp
- arbor/backends/multicore/mechanism.cpp 1 addition, 1 deletionarbor/backends/multicore/mechanism.cpp
- arbor/backends/multicore/shared_state.cpp 20 additions, 39 deletionsarbor/backends/multicore/shared_state.cpp
- arbor/backends/multicore/shared_state.hpp 8 additions, 13 deletionsarbor/backends/multicore/shared_state.hpp
- arbor/backends/multicore/threshold_watcher.hpp 4 additions, 4 deletionsarbor/backends/multicore/threshold_watcher.hpp
Please register or sign in to comment