Scippy

UG

Ubiquity Generator framework

paraCommMpi.h File Reference

ParaComm extension for MPI communication. More...

#include <thread>
#include <mutex>
#include <mpi.h>
#include <stdexcept>
#include <iostream>
#include <ostream>
#include <fstream>
#include <sstream>
#include <string>
#include <iomanip>
#include <deque>
#include "paraDef.h"
#include "paraComm.h"
#include "paraInstance.h"
#include "paraDiffSubproblem.h"
#include "paraSolution.h"
#include "paraParamSetMpi.h"
#include "paraTimerMpi.h"

Go to the source code of this file.

Classes

class  ParaCommMpi
 Communicator object for MPI communications. More...
 

Namespaces

namespace  UG
 

Macros

#define MPI_CALL(mpicall)
 
#define TAG_TRACE(call, fromTo, sourceDest, tag)
 
#define DEF_PARA_COMM(para_comm, comm)   ParaCommMpi *para_comm = dynamic_cast< ParaCommMpi* >(comm)
 

Detailed Description

ParaComm extension for MPI communication.

Author
Yuji Shinano

Definition in file paraCommMpi.h.

Macro Definition Documentation

◆ DEF_PARA_COMM

#define DEF_PARA_COMM (   para_comm,
  comm 
)    ParaCommMpi *para_comm = dynamic_cast< ParaCommMpi* >(comm)

Definition at line 484 of file paraCommMpi.h.

◆ MPI_CALL

#define MPI_CALL (   mpicall)
Value:
do \
{ \
int _error_value_; \
_error_value_ = ( mpicall ); \
if( _error_value_ != MPI_SUCCESS ) \
{ \
std::cout << "[MPI ERROR: " << __FILE__ << "] func = " \
<< __func__ << ", line = " << __LINE__ << ": " \
<< "error_code = " << _error_value_ << std::endl; \
MPI_Abort(MPI_COMM_WORLD, 1); \
} \
} while (0)

Definition at line 68 of file paraCommMpi.h.

◆ TAG_TRACE

#define TAG_TRACE (   call,
  fromTo,
  sourceDest,
  tag 
)
Value:
if( tagTraceFlag ) \
{ \
*tos << (MPI_Wtime() - startTime) << " [Rank = " << myRank << "] " << #call << " " << #fromTo \
<< " " << sourceDest << " with Tag = " << getTagString(tag) << std::endl; \
}

Definition at line 81 of file paraCommMpi.h.