DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
test_MPI.cpp File Reference

Doctest-based unit tests for DNDS MPI wrapper functionality. More...

#include "doctest.h"
#include "DNDS/MPI.hpp"
#include "DNDS/Defines.hpp"
#include <array>
#include <cstdint>
#include <numeric>
#include <vector>
Include dependency graph for test_MPI.cpp:

Go to the source code of this file.

Classes

struct  MPITypeTag< T >
 

Macros

#define DOCTEST_CONFIG_IMPLEMENT
 

Functions

int main (int argc, char **argv)
 
 TEST_CASE ("MPIInfo basics")
 
 TEST_CASE ("MPI Allreduce")
 
 TEST_CASE ("MPI Scan")
 
 TEST_CASE ("MPI Allgather")
 
 TEST_CASE ("MPI Bcast")
 
 TEST_CASE ("MPI Barrier")
 
 TEST_CASE ("MPI BasicType_To_MPIIntType")
 
 TEST_CASE ("CommStrategy")
 
 TEST_CASE ("MPI Alltoall")
 
 TYPE_TO_STRING (MPITypeTag< DNDS::real >)
 
 TYPE_TO_STRING (MPITypeTag< DNDS::index >)
 
 TYPE_TO_STRING (MPITypeTag< int32_t >)
 
 TYPE_TO_STRING (MPITypeTag< uint16_t >)
 
 TEST_CASE_TEMPLATE ("Parametric Allreduce MPI_SUM", Tag, MPITypeTag< DNDS::real >, MPITypeTag< DNDS::index >, MPITypeTag< int32_t >, MPITypeTag< uint16_t >)
 
 TEST_CASE_TEMPLATE ("Parametric Allgather rank values", Tag, MPITypeTag< DNDS::real >, MPITypeTag< DNDS::index >, MPITypeTag< int32_t >, MPITypeTag< uint16_t >)
 

Detailed Description

Doctest-based unit tests for DNDS MPI wrapper functionality.

Run under mpirun with varying rank counts (1, 2, 4). Covers DNDS::MPIInfo, collective operations (Allreduce, Scan, Allgather, Bcast, Barrier, Alltoall), MPI type mapping, and CommStrategy.

See also
DNDS Core Unit Tests for the full test-suite overview.
Test:
MPIInfo, Allreduce, Scan, Allgather, Bcast, Barrier, Alltoall, BasicType_To_MPIIntType, CommStrategy.

Definition in file test_MPI.cpp.

Macro Definition Documentation

◆ DOCTEST_CONFIG_IMPLEMENT

#define DOCTEST_CONFIG_IMPLEMENT

Definition at line 14 of file test_MPI.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 24 of file test_MPI.cpp.

◆ TEST_CASE() [1/9]

TEST_CASE ( "CommStrategy"  )

Definition at line 303 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [2/9]

TEST_CASE ( "MPI Allgather"  )

Definition at line 167 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [3/9]

TEST_CASE ( "MPI Allreduce"  )

Definition at line 85 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [4/9]

TEST_CASE ( "MPI Alltoall"  )

Definition at line 328 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [5/9]

TEST_CASE ( "MPI Barrier"  )

Definition at line 240 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [6/9]

TEST_CASE ( "MPI BasicType_To_MPIIntType"  )

Definition at line 253 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [7/9]

TEST_CASE ( "MPI Bcast"  )

Definition at line 207 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [8/9]

TEST_CASE ( "MPI Scan"  )

Definition at line 138 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [9/9]

TEST_CASE ( "MPIInfo basics"  )

Definition at line 39 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE_TEMPLATE() [1/2]

TEST_CASE_TEMPLATE ( "Parametric Allgather rank values"  ,
Tag  ,
MPITypeTag< DNDS::real ,
MPITypeTag< DNDS::index ,
MPITypeTag< int32_t >  ,
MPITypeTag< uint16_t >   
)

Definition at line 415 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TEST_CASE_TEMPLATE() [2/2]

TEST_CASE_TEMPLATE ( "Parametric Allreduce MPI_SUM"  ,
Tag  ,
MPITypeTag< DNDS::real ,
MPITypeTag< DNDS::index ,
MPITypeTag< int32_t >  ,
MPITypeTag< uint16_t >   
)

Definition at line 387 of file test_MPI.cpp.

Here is the call graph for this function:

◆ TYPE_TO_STRING() [1/4]

TYPE_TO_STRING ( MPITypeTag< DNDS::index )

◆ TYPE_TO_STRING() [2/4]

TYPE_TO_STRING ( MPITypeTag< DNDS::real )

◆ TYPE_TO_STRING() [3/4]

TYPE_TO_STRING ( MPITypeTag< int32_t >  )

◆ TYPE_TO_STRING() [4/4]

TYPE_TO_STRING ( MPITypeTag< uint16_t >  )