Implement smpirun --help-coll.
Update copyright lines for 2023.
Concatenate nested namespaces (sonar).
add openmpi scatter linear_nb algorithm
add butterfly algorithm from openmpi described in [*] J.L. Traff. An improved Algorithm for (non-commutative) Reduce-scatter with an Application // Proc. of EuroPVM/MPI, 2005. -- pp. 129-137.
Update copyright lines for 2022.
Update copyright lines.
Update copyright lines with new year.
Unused stuff.
smpi colls: use C++ containers instead of nul-terminted C vectors
cosmetics : I activated -pedantic for a quick pass I decided to ignore errors related to printf %p which wants a void*-casted pointer main changes are the removal of spurious ; in the code, and some forbidden dynamically sized arrays.
expend more macros in MPI collectives
smpi: expend a bunch of macros so that the functions' prototypes become accessible to my IDE
Change smpi::Colls static class into a namespace of functions
smpi: many classes died tonight, but that will save kitten on the long term. smpi::Coll was a class with 11 static methods (one per MPI function that has several implementations: allgather, allgatherv, etc) and nothing else. That class was derivated for each implementation of a given MPI function, and the resulting class was overloading only one of the methods while the others were ignored. There was well over 100 such child classes. The overloaded methods were static in their class, and always used as a function (the class was never instanciated). All this was written with some macros to reduce the burden. Instead, we now use regular functions in the smpi namespace.
disalign tags for collectives from their nonblocking counterparts, to correctly deadlock when both are entangled as some blocking ones used internally are actually implement with nonblocking+wait, use the right blocking tag in this case.
Define and use _XBT_STRINGIFY and _XBT_CONCAT{,2,3,4}. Use them almost everywhere, for sake of consistency. Required by Sonar rule cpp:S967 (There shall be at most one occurrence of the # or ## operators in a single macro definition).
remove spurious ;
(painfully) constify colls.
that helper was completely unnecessary... as mpi_wait was doing exactly the same thing already