Fix support for Keplar (K20 & K80) GPUs. (#470)
Fixes issue #467 * Add GPU synchronization points where required for Kepler to coordinate CPU access of managed memory. * Use hand-rolled double precision atomic addition for Kelper targets. * Replace `ARB_WITH_CUDA` build option with `ARB_GPU_MODEL` option that takes one of 'none', 'K20', 'K80' or 'P100', and set up source-code defines accoringly. * Clean up of redundant compiler flags and defines no longer required now that the project uses separate compilation for CUDA sources.
Showing
- CMakeLists.txt 19 additions, 14 deletionsCMakeLists.txt
- doc/install.rst 11 additions, 7 deletionsdoc/install.rst
- src/backends/gpu/kernels/ions.cu 12 additions, 8 deletionssrc/backends/gpu/kernels/ions.cu
- src/backends/gpu/kernels/reduce_by_key.hpp 2 additions, 1 deletionsrc/backends/gpu/kernels/reduce_by_key.hpp
- src/backends/gpu/managed_ptr.hpp 11 additions, 0 deletionssrc/backends/gpu/managed_ptr.hpp
- src/backends/gpu/stack.hpp 8 additions, 6 deletionssrc/backends/gpu/stack.hpp
- src/backends/gpu/threshold_watcher.hpp 5 additions, 2 deletionssrc/backends/gpu/threshold_watcher.hpp
Please register or sign in to comment