Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add getting started to README. #758

Merged
merged 1 commit into from
Nov 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,34 @@ Using template-metaprogramming, only code paths required for computing
parameters not provided by the user are generated at compile time, which results in (near) zero-overhead
bindings.

**:running: Quick Start:** We provide a wide range of [usage](./examples/usage) and [simple applications](./examples/applications) examples (start with [`allgatherv`](./examples/usage/allgatherv_example.cpp)). Or checkout the [documentation](https://kamping-site.github.io/kamping/) for a description of KaMPIng's core concepts and a full reference.
**:running: Quick Start:**
KaMPIng is header-only, compatible with all major MPI implementations and requires a C++17-ready compiler.
The easiest way to get started is to include KaMPIng using CMake's FetchContent module.
```cmake
include(FetchContent)
FetchContent_Declare(
kamping
GIT_REPOSITORY https://github.com/kamping-site/kamping.git
GIT_TAG v0.1.1
)

FetchContent_MakeAvailable(kamping)
target_link_libraries(myapp PRIVATE kamping::kamping)
```
It is fully compatible with your existing MPI code and you can start using it right away. Just include the headers for the main communicator class and the MPI call that you want to use.

``` c++

#include <kamping/communicator.hpp>
#include <kamping/collectives/allgather.hpp>

kamping::Communicator comm;

std::vector<int> input(comm.rank(), comm.rank_signed());
auto const result = comm.allgatherv(kamping::send_buf(input));
```

We provide a wide range of [usage](./examples/usage) and [simple applications](./examples/applications) examples (start with [`allgatherv`](./examples/usage/allgatherv_example.cpp)). Or checkout the [documentation](https://kamping-site.github.io/kamping/) for a description of KaMPIng's core concepts and a full reference.

KaMPIng is developed at the [Algorithm Engineering
Group](https://ae.iti.kit.edu/english/index.php) at Karlsruhe Institute of
Expand Down
Loading