Add granule cell mechanisms (#421)
* Add three new mechanisms: `nax.mod`, `kdrmt.mod` and `kamt.mod`. * Add new built-in math operators to `modcc`: `min`, `max`, `abs` and `exprelr`. `exprelr` is defined as the reciprocal of the 'exprel' function, exprel(x)=x/(exp(x)-1), exprel(1)=1. This function occurs frequently in HH-style mechanisms, and having a built-in operator avoids the ad hoc `vtrap` functions found in NMODL files in the wild. * Split Arbor SIMD intrinsics support into AVX2- and AVX512-specific files. * Add unit tests for new maths operators for C++, SIMD and CUDA implementations.
Showing
- CMakeLists.txt 3 additions, 3 deletionsCMakeLists.txt
- cmake/CompilerOptions.cmake 0 additions, 2 deletionscmake/CompilerOptions.cmake
- mechanisms/CMakeLists.txt 1 addition, 1 deletionmechanisms/CMakeLists.txt
- mechanisms/mod/hh.mod 3 additions, 8 deletionsmechanisms/mod/hh.mod
- mechanisms/mod/kamt.mod 98 additions, 0 deletionsmechanisms/mod/kamt.mod
- mechanisms/mod/kdrmt.mod 72 additions, 0 deletionsmechanisms/mod/kdrmt.mod
- mechanisms/mod/nax.mod 94 additions, 0 deletionsmechanisms/mod/nax.mod
- modcc/backends/avx2.hpp 21 additions, 3 deletionsmodcc/backends/avx2.hpp
- modcc/backends/avx512.hpp 24 additions, 10 deletionsmodcc/backends/avx512.hpp
- modcc/cexpr_emit.cpp 38 additions, 28 deletionsmodcc/cexpr_emit.cpp
- modcc/cprinter.cpp 5 additions, 0 deletionsmodcc/cprinter.cpp
- modcc/expression.cpp 26 additions, 1 deletionmodcc/expression.cpp
- modcc/expression.hpp 63 additions, 26 deletionsmodcc/expression.hpp
- modcc/lexer.cpp 1 addition, 0 deletionsmodcc/lexer.cpp
- modcc/parser.cpp 41 additions, 6 deletionsmodcc/parser.cpp
- modcc/token.cpp 8 additions, 0 deletionsmodcc/token.cpp
- modcc/token.hpp 8 additions, 1 deletionmodcc/token.hpp
- src/backends/gpu/fvm.cpp 7 additions, 1 deletionsrc/backends/gpu/fvm.cpp
- src/backends/gpu/intrinsics.hpp 21 additions, 0 deletionssrc/backends/gpu/intrinsics.hpp
- src/backends/multicore/fvm.cpp 7 additions, 1 deletionsrc/backends/multicore/fvm.cpp
Please register or sign in to comment