ug4
pcl_methods.h File Reference
#include <vector>
#include <list>
#include <iostream>
#include <mpi.h>
#include "pcl_comm_world.h"
#include "pcl_base.h"
#include "common/types.h"
#include "common/profiler/profiler.h"
#include "pcl_datatype.h"
#include <cassert>

Go to the source code of this file.

Namespaces

 pcl
 

Macros

#define PCL_RO_BAND   MPI_BAND
 
#define PCL_RO_BOR   MPI_BOR
 
#define PCL_RO_BXOR   MPI_BXOR
 
#define PCL_RO_LAND   MPI_LAND
 
#define PCL_RO_LOR   MPI_LOR
 
#define PCL_RO_LXOR   MPI_LXOR
 
#define PCL_RO_MAX   MPI_MAX
 
#define PCL_RO_MAXLOC   MPI_MAXLOC
 
#define PCL_RO_MIN   MPI_MIN
 
#define PCL_RO_MINLOC   MPI_MINLOC
 
#define PCL_RO_PROD   MPI_PROD
 
#define PCL_RO_SUM   MPI_SUM
 

Typedefs

typedef int pcl::ProcID
 
typedef MPI_Op pcl::ReduceOperation
 

Functions

void pcl::AllReduce (void *sendBuf, void *recBuf, int count, DataType type, ReduceOperation op)
 reduces the data to a single buffer using the specified ReduceOperation and distributes the result to all processes. More...
 
void pcl::CollectData (ProcID thisProcID, int firstSendProc, int numSendProcs, void *pBuffer, int bufferSizePerProc, int tag)
 collect the data send with send_data from proc firstSendProc to numSendProcs excluding destProc. More...
 
void pcl::DistributeData (ProcID thisProcID, int *pRecProcMap, int numRecProcs, void *pBuffer, int *pBufferSegSizes, int tag)
 sends the data in the different sections of the buffer to the specified processes. More...
 
void pcl::DistributeData (ProcID thisProcID, int firstRecProc, int numRecProcs, void *pBuffer, int *pBufferSegSizes, int tag)
 sends the data in the different sections of the buffer to the specified processes. More...
 
int pcl::MPI_Wait (MPI_Request *request, MPI_Status *status=MPI_STATUS_IGNORE)
 
void pcl::MPI_Waitall (int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)
 
void pcl::ReceiveData (void *pBuffOut, ProcID srcProc, int bufferSize, int tag)
 receives the data that was send with More...
 
void pcl::SendData (ProcID destProc, void *pBuffer, int bufferSize, int tag)
 sends data to another process. data may be received using More...
 
double pcl::Time ()
 returns the time in seconds More...
 
void pcl::Waitall (std::vector< MPI_Request > &requests)
 
void pcl::Waitall (std::vector< MPI_Request > &requests, std::vector< MPI_Request > &requests2)
 
void pcl::Waitall (std::vector< MPI_Request > &requests, std::vector< MPI_Status > &statuses)