Implement mechanism ABI
Implements #1376. * Provide a common C linkage ABI for externally compiled mechanisms, for both CPU and GPU. * Remove mechanism type hierarchy (`concrete_mechanism` etc.), and move corresponding functionality to the back-end shared state objects. Mechanism catalogue is no longer indexed by type id. * Distinguish between SIMD optimal alignment and SIMD width with new `min_align` attribute. Mechanisms provide both pieces of information via ABI.
Showing
- .gitmodules 3 additions, 0 deletions.gitmodules
- CMakeLists.txt 13 additions, 0 deletionsCMakeLists.txt
- arbor/CMakeLists.txt 1 addition, 5 deletionsarbor/CMakeLists.txt
- arbor/arbexcept.cpp 8 additions, 0 deletionsarbor/arbexcept.cpp
- arbor/backends/event.hpp 2 additions, 3 deletionsarbor/backends/event.hpp
- arbor/backends/gpu/fvm.cpp 0 additions, 18 deletionsarbor/backends/gpu/fvm.cpp
- arbor/backends/gpu/fvm.hpp 2 additions, 2 deletionsarbor/backends/gpu/fvm.hpp
- arbor/backends/gpu/matrix_assemble.cu 1 addition, 1 deletionarbor/backends/gpu/matrix_assemble.cu
- arbor/backends/gpu/matrix_common.hpp 1 addition, 1 deletionarbor/backends/gpu/matrix_common.hpp
- arbor/backends/gpu/matrix_fine.cu 2 additions, 2 deletionsarbor/backends/gpu/matrix_fine.cu
- arbor/backends/gpu/matrix_solve.cu 1 addition, 1 deletionarbor/backends/gpu/matrix_solve.cu
- arbor/backends/gpu/mechanism.cpp 0 additions, 231 deletionsarbor/backends/gpu/mechanism.cpp
- arbor/backends/gpu/mechanism.cu 0 additions, 23 deletionsarbor/backends/gpu/mechanism.cu
- arbor/backends/gpu/mechanism.hpp 0 additions, 31 deletionsarbor/backends/gpu/mechanism.hpp
- arbor/backends/gpu/multi_event_stream.cu 1 addition, 1 deletionarbor/backends/gpu/multi_event_stream.cu
- arbor/backends/gpu/shared_state.cpp 186 additions, 0 deletionsarbor/backends/gpu/shared_state.cpp
- arbor/backends/gpu/shared_state.cu 2 additions, 2 deletionsarbor/backends/gpu/shared_state.cu
- arbor/backends/gpu/shared_state.hpp 27 additions, 1 deletionarbor/backends/gpu/shared_state.hpp
- arbor/backends/gpu/stack_cu.hpp 1 addition, 1 deletionarbor/backends/gpu/stack_cu.hpp
- arbor/backends/gpu/stimulus.cu 4 additions, 4 deletionsarbor/backends/gpu/stimulus.cu
Please register or sign in to comment