Mechanism Refactor: multicore and simd (#484)
First commit of two for mechanism refactor work (refer to PR #484 and PR #483). FVM/mechanism code: * Refactor mechanism data structures to decouple backend-specific implementations and mechanism metadata. * Add mechanism catalogue for managing mechanism metadata and concrete implementation prototypes. * Add fingerprint-checking to mechanism metadata and implementations to confirm they come from the same NMODL source (fingerprint is not yet computed, but tests are in place). * Split FVM discretization work out from FVM integrator code. * Use abstract base class over backend-templated FVM integrator class `fvm_lowered_cell_impl` to allow separate compilation of `mc_cell_group` and to remove the dummy backend code. * Add a new FVM-specific scalar type `fvm_index_type` that is an alias for `int` to replace `fvm_size_type` in fvm layouts and mechanisms. This was chosen as an alternative to making `unsigned` versions of all our SIMD implementation classes. * Exte...
Showing
- CMakeLists.txt 15 additions, 13 deletionsCMakeLists.txt
- cmake/CompilerOptions.cmake 100 additions, 16 deletionscmake/CompilerOptions.cmake
- cmake/dummy.cpp 3 additions, 0 deletionscmake/dummy.cpp
- example/generators/event_gen.cpp 1 addition, 2 deletionsexample/generators/event_gen.cpp
- example/miniapp/miniapp.cpp 0 additions, 1 deletionexample/miniapp/miniapp.cpp
- example/miniapp/miniapp_recipes.cpp 1 addition, 1 deletionexample/miniapp/miniapp_recipes.cpp
- mechanisms/CMakeLists.txt 41 additions, 31 deletionsmechanisms/CMakeLists.txt
- mechanisms/generate_default_catalogue 130 additions, 0 deletionsmechanisms/generate_default_catalogue
- mechanisms/mod/test_ca.mod 4 additions, 0 deletionsmechanisms/mod/test_ca.mod
- modcc/CMakeLists.txt 10 additions, 4 deletionsmodcc/CMakeLists.txt
- modcc/blocks.hpp 9 additions, 9 deletionsmodcc/blocks.hpp
- modcc/cprinter.cpp 0 additions, 740 deletionsmodcc/cprinter.cpp
- modcc/cprinter.hpp 0 additions, 122 deletionsmodcc/cprinter.hpp
- modcc/cudaprinter.cpp 0 additions, 1012 deletionsmodcc/cudaprinter.cpp
- modcc/cudaprinter.hpp 0 additions, 124 deletionsmodcc/cudaprinter.hpp
- modcc/expression.cpp 1 addition, 13 deletionsmodcc/expression.cpp
- modcc/expression.hpp 27 additions, 67 deletionsmodcc/expression.hpp
- modcc/identifier.hpp 22 additions, 14 deletionsmodcc/identifier.hpp
- modcc/io/bulkio.hpp 30 additions, 11 deletionsmodcc/io/bulkio.hpp
- modcc/io/ostream_wrappers.hpp 57 additions, 0 deletionsmodcc/io/ostream_wrappers.hpp
Please register or sign in to comment