Compile arbor for AMD and Nvidia GPUs using clang (#1007)
- Add option to compile Arbor for HIP/CUDA backend using Clang. - Add new CMake option `ARB_GPU_COMPILE_TYPE` to distinguish between three possible gpu platforms/builds: `cuda-nvcc`; `cuda-clang`; `hip-clang` - Add gpu wrapper functions in `arbor/backends/gpu/gpu_api.hpp` and `arborenv/gpu_api.hpp` which call HIP/CUDA functions depending on the platform - Rename functions and files: cuda -> gpu - Add downgraded warp primitives for HIP - Implement `uuid` workaround for HIP - Set correct alignment and warp size for AMD gpus - Update installation guide and docs. - Update pip/setuptools to support new gpu targets Fixes #833
Showing
- CMakeLists.txt 73 additions, 36 deletionsCMakeLists.txt
- arbor/CMakeLists.txt 17 additions, 3 deletionsarbor/CMakeLists.txt
- arbor/backends/gpu/cuda_api.hpp 167 additions, 0 deletionsarbor/backends/gpu/cuda_api.hpp
- arbor/backends/gpu/cuda_atomic.hpp 0 additions, 41 deletionsarbor/backends/gpu/cuda_atomic.hpp
- arbor/backends/gpu/gpu_api.hpp 9 additions, 0 deletionsarbor/backends/gpu/gpu_api.hpp
- arbor/backends/gpu/gpu_common.hpp 11 additions, 5 deletionsarbor/backends/gpu/gpu_common.hpp
- arbor/backends/gpu/hip_api.hpp 141 additions, 0 deletionsarbor/backends/gpu/hip_api.hpp
- arbor/backends/gpu/math_cu.hpp 1 addition, 0 deletionsarbor/backends/gpu/math_cu.hpp
- arbor/backends/gpu/matrix_assemble.cu 1 addition, 1 deletionarbor/backends/gpu/matrix_assemble.cu
- arbor/backends/gpu/matrix_common.hpp 11 additions, 9 deletionsarbor/backends/gpu/matrix_common.hpp
- arbor/backends/gpu/matrix_fine.cu 5 additions, 5 deletionsarbor/backends/gpu/matrix_fine.cu
- arbor/backends/gpu/matrix_fine.hpp 1 addition, 1 deletionarbor/backends/gpu/matrix_fine.hpp
- arbor/backends/gpu/matrix_solve.cu 1 addition, 1 deletionarbor/backends/gpu/matrix_solve.cu
- arbor/backends/gpu/matrix_state_fine.hpp 6 additions, 6 deletionsarbor/backends/gpu/matrix_state_fine.hpp
- arbor/backends/gpu/mechanism.cu 1 addition, 1 deletionarbor/backends/gpu/mechanism.cu
- arbor/backends/gpu/multi_event_stream.cu 1 addition, 1 deletionarbor/backends/gpu/multi_event_stream.cu
- arbor/backends/gpu/reduce_by_key.hpp 7 additions, 7 deletionsarbor/backends/gpu/reduce_by_key.hpp
- arbor/backends/gpu/shared_state.cu 4 additions, 4 deletionsarbor/backends/gpu/shared_state.cu
- arbor/backends/gpu/stack.hpp 6 additions, 6 deletionsarbor/backends/gpu/stack.hpp
- arbor/backends/gpu/stack_cu.hpp 1 addition, 0 deletionsarbor/backends/gpu/stack_cu.hpp
Please register or sign in to comment