casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Macros | Typedefs
MPIGlue.h File Reference
#include <cstddef>

Go to the source code of this file.

Namespaces

 casa
 -*- mode: c++ -*-
 

Macros

#define UNUSED_WITHOUT_MPI
 This header file is intended to facilitate writing source modules that use MPI, so that they can also be compiled without an MPI compiler and run without the MPI libraries. More...
 
#define MPI_BOOL_TYPE
 
#define MPI_BOOL
 
#define MPI_INT
 
#define MPI_FLOAT
 
#define MPI_DOUBLE
 
#define MPI_COMM_WORLD
 
#define MPI_COMM_SELF
 
#define MPI_COMM_NULL
 
#define MPI_GROUP_NULL
 
#define MPI_UNDEFINED
 
#define MPI_IN_PLACE
 
#define MPI_Comm_size(c, sp)
 
#define MPI_Comm_rank(c, rp)
 
#define MPI_Comm_dup(c, cp)
 
#define MPI_Comm_free(c)
 
#define MPI_Comm_split(comm, color, key, cp)
 
#define MPI_Comm_group(c, pg)
 
#define MPI_Group_free(pg)
 
#define MPI_Group_incl(g, nr, pr, pg)
 
#define MPI_Comm_group_create(c, g, t, pc)
 
#define MPI_Type_create_struct(a, b, c, d, pd)
 
#define MPI_Type_create_resized(a, b, c, pd)
 
#define MPI_Type_free(pd)
 
#define MPI_Type_commit(pd)
 
#define MPI_Op_create(a, b, po)
 
#define MPI_Op_free(po)
 
#define MPI_Barrier(c)
 
#define MPI_Bcast(a, b, c, d, e)
 
#define MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm)
 
#define MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm)
 
#define MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm)
 

Typedefs

typedef int casa::MPI_Comm
 
typedef int casa::MPI_Group
 
typedef int casa::MPI_Datatype
 
typedef int casa::MPI_Op
 
typedef std::ptrdiff_t casa::MPI_Aint
 

Macro Definition Documentation

#define MPI_Allreduce (   sendbuf,
  recvbuf,
  count,
  datatype,
  op,
  comm 
)

Definition at line 116 of file MPIGlue.h.

#define MPI_Barrier (   c)
#define MPI_Bcast (   a,
  b,
  c,
  d,
 
)

Definition at line 115 of file MPIGlue.h.

#define MPI_BOOL
#define MPI_BOOL_TYPE

Definition at line 53 of file MPIGlue.h.

#define MPI_Comm_dup (   c,
  cp 
)
#define MPI_Comm_free (   c)

Definition at line 83 of file MPIGlue.h.

Referenced by casa::ParallelImagerMixin< T >::~ParallelImagerMixin().

#define MPI_Comm_group (   c,
  pg 
)

Definition at line 90 of file MPIGlue.h.

#define MPI_Comm_group_create (   c,
  g,
  t,
  pc 
)

Definition at line 102 of file MPIGlue.h.

#define MPI_COMM_NULL
#define MPI_Comm_rank (   c,
  rp 
)
#define MPI_COMM_SELF

Definition at line 66 of file MPIGlue.h.

Referenced by casa::ParallelImagerMixin< T >::~ParallelImagerMixin().

#define MPI_Comm_size (   c,
  sp 
)
#define MPI_Comm_split (   comm,
  color,
  key,
  cp 
)

Definition at line 84 of file MPIGlue.h.

#define MPI_COMM_WORLD

Definition at line 65 of file MPIGlue.h.

Referenced by casa::ParallelImagerMixin< T >::~ParallelImagerMixin().

#define MPI_DOUBLE

Definition at line 57 of file MPIGlue.h.

#define MPI_FLOAT
#define MPI_Gather (   sendbuf,
  sendcount,
  sendtype,
  recvbuf,
  recvcount,
  recvtype,
  root,
  comm 
)

Definition at line 120 of file MPIGlue.h.

#define MPI_Gatherv (   sendbuf,
  sendcount,
  sendtype,
  recvbuf,
  recvcounts,
  displs,
  recvtype,
  root,
  comm 
)

Definition at line 126 of file MPIGlue.h.

#define MPI_Group_free (   pg)

Definition at line 95 of file MPIGlue.h.

#define MPI_Group_incl (   g,
  nr,
  pr,
  pg 
)

Definition at line 96 of file MPIGlue.h.

#define MPI_GROUP_NULL

Definition at line 68 of file MPIGlue.h.

#define MPI_IN_PLACE

Definition at line 70 of file MPIGlue.h.

#define MPI_INT
#define MPI_Op_create (   a,
  b,
  po 
)

Definition at line 112 of file MPIGlue.h.

Referenced by casa::ExecRecord::reduceOp().

#define MPI_Op_free (   po)

Definition at line 113 of file MPIGlue.h.

#define MPI_Type_commit (   pd)

Definition at line 111 of file MPIGlue.h.

#define MPI_Type_create_resized (   a,
  b,
  c,
  pd 
)
#define MPI_Type_create_struct (   a,
  b,
  c,
  d,
  pd 
)
#define MPI_Type_free (   pd)
#define MPI_UNDEFINED

Definition at line 69 of file MPIGlue.h.

#define UNUSED_WITHOUT_MPI

This header file is intended to facilitate writing source modules that use MPI, so that they can also be compiled without an MPI compiler and run without the MPI libraries.

Note, however, that the definitions in this header file do not provide a complete replacement of MPI functions with stub versions; that task is beyond the scope of a single header file (duplicating MPI datatypes, for example, would take much more effort). Instead, this file is currently only used by new tclean2 code that uses MPI functions in C++, and, therefore, only provides support for those parts of MPI that are currently needed in the tclean2 code.

Definition at line 52 of file MPIGlue.h.

Referenced by casa::ExecRecord::datatype(), casa::DetailsRecord::datatype(), and casa::ControlRecord::datatype().