First GPU support (#77)
This PR is part of the gpu feature merge. The GPU implementation is not implemented here. Instead, we focus on refactoring of the original "multicore" back end so that it is ready for adding the GPU back end. This is a big and messy change, for which I am sorry. ## build System - A `WITH_CUDA` option has been added to the main CMakeLists. This finds the CUDA toolkit, and sets CUDA compiler flags, and will build unit tests for the gpu back end. - The CMakeLists that generates mechanisms with modcc has been updated to generate CUDA mechanisms. - the library is now named `libnestmc` instead of `libcellalgo` - merge the external libraries that are optionally linked againts (tbb, libunwind, etc) into a single `EXTERNAL_LIBRARIES` list for ease of linking ## modcc - the cprinter and cudaprinter have had small changes to generate mechanism files that are compatible with the refactored library. ## algorithms - the indexes into algorithm was "rangified". An algori...
Showing
- .gitignore 3 additions, 12 deletions.gitignore
- .gitmodules 0 additions, 0 deletions.gitmodules
- .ycm_extra_conf.py 6 additions, 10 deletions.ycm_extra_conf.py
- CMakeLists.txt 38 additions, 7 deletionsCMakeLists.txt
- cmake/FindUnwind.cmake 48 additions, 0 deletionscmake/FindUnwind.cmake
- mechanisms/CMakeLists.txt 37 additions, 1 deletionmechanisms/CMakeLists.txt
- mechanisms/generate.sh 0 additions, 10 deletionsmechanisms/generate.sh
- miniapp/CMakeLists.txt 14 additions, 4 deletionsminiapp/CMakeLists.txt
- miniapp/miniapp.cpp 18 additions, 10 deletionsminiapp/miniapp.cpp
- miniapp/miniapp.cu 1 addition, 0 deletionsminiapp/miniapp.cu
- modcc/cprinter.cpp 23 additions, 69 deletionsmodcc/cprinter.cpp
- modcc/cudaprinter.cpp 37 additions, 38 deletionsmodcc/cudaprinter.cpp
- modcc/mechanism.hpp 1 addition, 1 deletionmodcc/mechanism.hpp
- scripts/print_backtrace 89 additions, 0 deletionsscripts/print_backtrace
- src/CMakeLists.txt 14 additions, 2 deletionssrc/CMakeLists.txt
- src/algorithms.hpp 109 additions, 39 deletionssrc/algorithms.hpp
- src/backends/fvm.hpp 7 additions, 0 deletionssrc/backends/fvm.hpp
- src/backends/fvm_gpu.cu 22 additions, 0 deletionssrc/backends/fvm_gpu.cu
- src/backends/fvm_gpu.hpp 235 additions, 0 deletionssrc/backends/fvm_gpu.hpp
- src/backends/fvm_multicore.cpp 22 additions, 0 deletionssrc/backends/fvm_multicore.cpp
Please register or sign in to comment