You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -51,19 +51,26 @@ KaMPIng is developed at the [Algorithm Engineering
51
51
Group](https://ae.iti.kit.edu/english/index.php) at Karlsruhe Institute of
52
52
Technology.
53
53
54
-
If you use KaMPIng in the context of an academic publication, we kindly ask you to cite [our technical report](https://arxiv.org/abs/2404.05610):
54
+
If you use KaMPIng in the context of an academic publication, we kindly ask you to cite our [SC'24 paper](https://doi.org/10.1109/SC41406.2024.00050):
55
55
56
56
``` bibtex
57
-
@misc{kamping2024,
58
-
title={KaMPIng: Flexible and (Near) Zero-overhead C++ Bindings for MPI},
59
-
author={Demian Hespe and Lukas Hübner and Florian Kurpicz and Peter Sanders and Matthias Schimek and Daniel Seemaier and Christoph Stelz and Tim Niklas Uhl},
60
-
year={2024},
61
-
eprint={2404.05610},
62
-
archivePrefix={arXiv},
63
-
primaryClass={cs.DC}
57
+
@inproceedings{kamping2024,
58
+
author = {Uhl, Tim Niklas and Schimek, Matthias and Hübner,
59
+
Lukas and Hespe, Demian and Kurpicz, Florian and
60
+
Seemaier, Daniel and Stelz, Christoph and Sanders,
61
+
Peter},
62
+
booktitle = {SC24: International Conference for High Performance
63
+
Computing, Networking, Storage and Analysis},
64
+
title = {KaMPIng: Flexible and (Near) Zero-Overhead C++
65
+
Bindings for MPI},
66
+
year = {2024},
67
+
pages = {1-21},
68
+
doi = {10.1109/SC41406.2024.00050}
64
69
}
65
70
```
66
71
72
+
You can also find a [freely accessibly post-print in the arXiv.](https://arxiv.org/abs/2404.05610)
73
+
67
74
## Features :sparkles:
68
75
### Named Parameters :speech_balloon:
69
76
Using plain MPI, operations like `MPI_Allgatherv` often lead to verbose and error-prone boilerplate code:
@@ -86,7 +93,7 @@ In contrast, KaMPIng introduces a streamlined syntax inspired by Python's named
Empowered by named parameters, KaMPIng allows users to name and pass parameters in arbitrary order, computing default values only for the missing ones. This not only improves readability but also streamlines the code, providing a user-friendly and efficient way of writing MPI applications.
@@ -103,13 +110,13 @@ KaMPIng's *resize policies* allow for fine-grained control over when allocation
103
110
104
111
```c++
105
112
// easy to use with sane defaults
106
-
std::vector<int> v = comm.recv<int>(source(kamping::rank::any));
113
+
std::vector<int> v = comm.recv<int>(kamping::source(kamping::rank::any));
107
114
108
115
// flexible memory control
109
116
std::vector<int> v_out;
110
117
v_out.resize(enough_memory_to_fit);
111
118
// already_known_counts are the recv_counts that may have been computed already earlier and thus do not need to be computed again
0 commit comments