AutoPas  3.0.0
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Enumerations | Functions
WrapMPI.h File Reference
#include <limits.h>
#include <stdint.h>
#include <cstdio>
#include <cstring>
#include <map>
#include <set>
Include dependency graph for WrapMPI.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  autopas::AutoPas_MPI_Status
 Dummy for MPI_Status. More...
 

Namespaces

namespace  autopas
 This is the main namespace of AutoPas.
 

Macros

#define AUTOPAS_MPI_COMM_NULL   autopas::AutoPas_MPI_Comm::COMM_NULL
 Wrapper for MPI_COMM_NULL.
 
#define AUTOPAS_MPI_COMM_WORLD   autopas::AutoPas_MPI_Comm::COMM_WORLD
 Wrapper for MPI_COMM_WORLD.
 
#define AUTOPAS_MPI_BYTE   autopas::AutoPas_MPI_Datatype::BYTE
 Wrapper for MPI_BYTE.
 
#define AUTOPAS_MPI_CXX_BOOL   autopas::AutoPas_MPI_Datatype::CXX_BOOL
 Wrapper for MPI_CXX_BOOL.
 
#define AUTOPAS_MPI_CHAR   autopas::AutoPas_MPI_Datatype::CHAR
 Wrapper for MPI_CHAR.
 
#define AUTOPAS_MPI_INT   autopas::AutoPas_MPI_Datatype::INT
 Wrapper for MPI_INT.
 
#define AUTOPAS_MPI_LONG_INT   autopas::AutoPas_MPI_Datatype::LONG_INT
 Wrapper for MPI_LONG_INT.
 
#define AUTOPAS_MPI_UNSIGNED_INT   autopas::AutoPas_MPI_Datatype::UNSIGNED_INT
 Wrapper for MPI_UNSIGNED.
 
#define AUTOPAS_MPI_LONG   autopas::AutoPas_MPI_Datatype::LONG
 Wrapper for MPI_LONG.
 
#define AUTOPAS_MPI_UNSIGNED_LONG   autopas::AutoPas_MPI_Datatype::UNSIGNED_LONG
 Wrapper for MPI_UNSIGNED LONG.
 
#define AUTOPAS_MPI_DOUBLE   autopas::AutoPas_MPI_Datatype::DOUBLE
 Wrapper for MPI_DOUBLE.
 
#define AUTOPAS_MPI_MAX   autopas::AutoPas_MPI_Op::MAX
 Wrapper for MPI_MAX.
 
#define AUTOPAS_MPI_MIN   autopas::AutoPas_MPI_Op::MIN
 Wrapper for MPI_MIN.
 
#define AUTOPAS_MPI_SUM   autopas::AutoPas_MPI_Op::SUM
 Wrapper for MPI_SUM.
 
#define AUTOPAS_MPI_PROD   autopas::AutoPas_MPI_Op::PROD
 Wrapper for MPI_PROD.
 
#define AUTOPAS_MPI_LAND   autopas::AutoPas_MPI_Op::LAND
 Wrapper for MPI_LAND.
 
#define AUTOPAS_MPI_BAND   autopas::AutoPas_MPI_Op::BAND
 Wrapper for MPI_BAND.
 
#define AUTOPAS_MPI_LOR   autopas::AutoPas_MPI_Op::LOR
 Wrapper for MPI_LOR.
 
#define AUTOPAS_MPI_BOR   autopas::AutoPas_MPI_Op::BOR
 Wrapper for MPI_BOR.
 
#define AUTOPAS_MPI_LXOR   autopas::AutoPas_MPI_Op::LXOR
 Wrapper for MPI_LXOR.
 
#define AUTOPAS_MPI_BXOR   autopas::AutoPas_MPI_Op::BXOR
 Wrapper for MPI_BXOR.
 
#define AUTOPAS_MPI_MINLOC   autopas::AutoPas_MPI_Op::MINLOC
 Wrapper for MPI_MINLOC.
 
#define AUTOPAS_MPI_MAXLOC   autopas::AutoPas_MPI_Op::MAXLOC
 Wrapper for MPI_MAXLOC.
 
#define AUTOPAS_MPI_REPLACE   autopas::AutoPas_MPI_Op::REPLACE
 Wrapper for MPI_REPLACE.
 
#define AUTOPAS_MPI_NO_OP   autopas::AutoPas_MPI_Op::NO_OP
 Wrapper for MPI_NO_OP.
 
#define AUTOPAS_MPI_STATUS_IGNORE   nullptr
 Dummy for MPI_STATUS_IGNORE.
 
#define AUTOPAS_MPI_REQUEST_NULL   autopas::AutoPas_MPI_Request::REQUEST_NULL
 Dummy for MPI_REQUEST_NULL.
 
#define AUTOPAS_MPI_MAX_ERROR_STRING   256
 Dummy for MPI_MAX_ERROR_STRING.
 
#define AUTOPAS_MPI_IN_PLACE   ((void *)1)
 Indicator for Collectives to happen in-place.
 

Enumerations

enum  autopas::AutoPas_MPI_Comm { COMM_NULL = 0 , COMM_WORLD }
 Dummy for MPI_Comm.
 
enum  autopas::AutoPas_MPI_Datatype {
  BYTE = 1 , CXX_BOOL = sizeof(bool) , CHAR = sizeof(char) , UNSIGNED_CHAR = sizeof(unsigned char) ,
  UNSIGNED_SHORT = sizeof(unsigned short) , INT = sizeof(int) , UNSIGNED_INT = sizeof(unsigned int) , UNSIGNED_LONG = sizeof(unsigned long) ,
  UNSIGNED_LONG_LONG = sizeof(unsigned long long) , LONG = sizeof(double) , DOUBLE = sizeof(double) , LONG_INT = sizeof(long) + sizeof(int)
}
 Dummy for MPI_Datatype. More...
 
enum  autopas::AutoPas_MPI_Op {
  MAX , MIN , SUM , PROD ,
  LAND , BAND , LOR , BOR ,
  LXOR , BXOR , MINLOC , MAXLOC ,
  REPLACE , NO_OP
}
 Dummy for MPI_Op.
 
enum  autopas::AutoPas_MPI_Request { REQUEST_NULL , COMPLETED_REQUEST , INCOMPLETE_REQUEST }
 Dummy for MPI_Request.
 
enum  autopas::AutoPas_MPI_Error {
  AUTOPAS_MPI_SUCCESS = 0 , AUTOPAS_MPI_ERR_BUFFER , AUTOPAS_MPI_ERR_COUNT , AUTOPAS_MPI_ERR_TYPE ,
  AUTOPAS_MPI_ERR_TAG , AUTOPAS_MPI_ERR_COMM , AUTOPAS_MPI_ERR_RANK , AUTOPAS_MPI_ERR_ROOT ,
  AUTOPAS_MPI_ERR_GROUP , AUTOPAS_MPI_ERR_OP , AUTOPAS_MPI_ERR_TOPOLOGY , AUTOPAS_MPI_ERR_DIMS ,
  AUTOPAS_MPI_ERR_ARG , AUTOPAS_MPI_ERR_UNKNOWN , AUTOPAS_MPI_ERR_TRUNCATE , AUTOPAS_MPI_ERR_OTHER ,
  AUTOPAS_MPI_ERR_INTERN , AUTOPAS_MPI_ERR_IN_STATUS , AUTOPAS_MPI_ERR_PENDING , AUTOPAS_MPI_ERR_REQUEST ,
  AUTOPAS_MPI_ERR_LASTCODE
}
 Dummy for MPI_Error.
 

Functions

int autopas::AutoPas_MPI_Init (int *argc, char ***argv)
 Wrapper for MPI_Init Also defines the AutoPas communicator, so it needs to be called when AutoPas should use MPI.
 
int autopas::AutoPas_MPI_Finalize ()
 Wrapper for MPI_Finalize Also frees the AutoPas communicator, so it needs to be called if AutoPas_MPI_Init was called.
 
int autopas::AutoPas_MPI_Finalized (int *flag)
 Wrapper for MPI_Finalized.
 
int autopas::AutoPas_MPI_Error_string (int errorcode, char *string, int *resultlen)
 Wrapper for MPI_Error_string.
 
int autopas::AutoPas_MPI_Comm_size (AutoPas_MPI_Comm comm, int *size)
 Wrapper for MPI_Comm_size.
 
int autopas::AutoPas_MPI_Comm_rank (AutoPas_MPI_Comm comm, int *rank)
 Wrapper for MPI_Comm_rank.
 
int autopas::AutoPas_MPI_Comm_dup (AutoPas_MPI_Comm comm, AutoPas_MPI_Comm *newComm)
 Wrapper for MPI_Comm_dup.
 
int autopas::AutoPas_MPI_Comm_free (AutoPas_MPI_Comm *comm)
 Wrapper for MPI_Comm_free.
 
int autopas::AutoPas_MPI_Send (const void *buf, int count, AutoPas_MPI_Datatype datatype, int dest, int tag, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Send.
 
int autopas::AutoPas_MPI_Recv (void *buf, int count, AutoPas_MPI_Datatype datatype, int source, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Status *status)
 Wrapper for MPI_Recv.
 
int autopas::AutoPas_MPI_Bcast (void *buffer, int count, AutoPas_MPI_Datatype datatype, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Bcast.
 
int autopas::AutoPas_MPI_Ibcast (void *buffer, int count, AutoPas_MPI_Datatype datatype, int root, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Ibcast.
 
int autopas::AutoPas_MPI_Reduce (const void *sendbuf, void *recvbuf, int count, AutoPas_MPI_Datatype datatype, AutoPas_MPI_Op op, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Reduce.
 
int autopas::AutoPas_MPI_Allreduce (const void *sendbuf, void *recvbuf, int count, AutoPas_MPI_Datatype datatype, AutoPas_MPI_Op op, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Allreduce.
 
int autopas::AutoPas_MPI_Iallreduce (const void *sendbuf, void *recvbuf, int count, AutoPas_MPI_Datatype datatype, AutoPas_MPI_Op op, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Iallreduce.
 
int autopas::AutoPas_MPI_Barrier (AutoPas_MPI_Comm comm)
 Wrapper for MPI_Barrier.
 
int autopas::AutoPas_MPI_Ibarrier (AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Ibarrier.
 
int autopas::AutoPas_MPI_Test (AutoPas_MPI_Request *request, int *flag, AutoPas_MPI_Status *status)
 Wrapper for MPI_Test.
 
int autopas::AutoPas_MPI_Wait (AutoPas_MPI_Request *request, AutoPas_MPI_Status *status)
 Wrapper for MPI_Wait.
 
int autopas::AutoPas_MPI_Request_free (AutoPas_MPI_Request *request)
 Wrapper for MPI_Request_free.
 
int autopas::AutoPas_MPI_Cart_create (AutoPas_MPI_Comm comm, int nDims, const int *dims, const int *periods, int reorder, AutoPas_MPI_Comm *comm_cart)
 Wrapper for MPI_Cart_create.
 
int autopas::AutoPas_MPI_Cart_get (AutoPas_MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[])
 Wrapper for MPI_Cart_get.
 
int autopas::AutoPas_MPI_Cart_coords (AutoPas_MPI_Comm comm, int rank, int maxdims, int coords[])
 Wrapper for MPI_Cart_coords Determines process coords in cartesian topology given rank in group.
 
int autopas::AutoPas_MPI_Cart_rank (AutoPas_MPI_Comm comm, const int coords[], int *rank)
 Wrapper for MPI_Cart_rank Determines process rank in communicator given Cartesian location.
 
int autopas::AutoPas_MPI_Dims_create (int nnodes, int ndims, int dims[])
 Wrapper for MPI_Dims_create.
 
int autopas::AutoPas_MPI_Isend (const void *buf, int count, AutoPas_MPI_Datatype datatype, int dest, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Isend.
 
int autopas::AutoPas_MPI_Irecv (void *buf, int count, AutoPas_MPI_Datatype datatype, int source, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Request *request)
 Wrapper for MPI_Irecv.
 
int autopas::AutoPas_MPI_Probe (int source, int tag, AutoPas_MPI_Comm comm, AutoPas_MPI_Status *status)
 Wrapper for MPI_Probe.
 
int autopas::AutoPas_MPI_Get_count (const AutoPas_MPI_Status *status, AutoPas_MPI_Datatype datatype, int *count)
 Wrapper for MPI_Get_count.
 
int autopas::AutoPas_MPI_Waitall (int count, AutoPas_MPI_Request array_of_requests[], AutoPas_MPI_Status *array_of_statuses)
 Wrapper for MPI_Waitall.
 
int autopas::AutoPas_MPI_Gather (const void *buffer_send, int count_send, AutoPas_MPI_Datatype datatype_send, void *buffer_recv, int count_recv, AutoPas_MPI_Datatype datatype_recv, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Gather.
 
int autopas::AutoPas_MPI_Gatherv (const void *buffer_send, int count_send, AutoPas_MPI_Datatype datatype_send, void *buffer_recv, const int *count_recv, const int *displs, AutoPas_MPI_Datatype datatype_recv, int root, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Gatherv.
 
int autopas::AutoPas_MPI_Allgather (void *buffer_send, int count_send, AutoPas_MPI_Datatype datatype_send, void *buffer_recv, int count_recv, AutoPas_MPI_Datatype datatype_recv, AutoPas_MPI_Comm comm)
 Wrapper for MPI_Allgather.
 
int autopas::AutoPas_MPI_Comm_split (AutoPas_MPI_Comm old_communicator, int color, int key, AutoPas_MPI_Comm *new_communicator)
 Wrapper for MPI_Comm_split.
 

Detailed Description

Author
W. Thieme
Date
17.04.2020