SAMPIK is a work-in-progress API for enabling interoperability between Kokkos and Message Passing (e.g. MPI). It enables users to transparently communicate Kokkos views using MPI as a backedn.
- Point-to-point communications:
send
andreceive
views
Assumptions:
- Views must be contiguous (but may be multi-dimensional)
- Views must reside on the
HostSpace
memory space
See the Roadmap.
Before starting, make sure the following software is installed on your machine:
- CMake 3.16+
- C++20 conforming compiler
- Kokkos (packaged as a submodule of this repo)
- MPI implementation
cmake -S . -B build <KOKKOS_FLAGS...>
cmake --build build
Run the test program:
cmake --build build --target send_recv
mpirun -n 2 build/tests/send_recv
Or directly using ctest
:
cmake --build build --target test
Contributions are welcome and accepted as pull requests on GitHub.
You may also ask questions or file bug reports on the issue tracker.
Licensed under:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
The SPDX license identifier for this project is MIT.