libfaster API Documentation  Development Version
Super fast distributted computing
faster::fastComm Class Reference

Description

Definition at line 119 of file fastComm.h.

Public Member Functions

 fastComm (int &argc, char **argv)
 
int getProcId ()
 
int getNumProcs ()
 
fastCommBuffergetResultBuffer ()
 
fastCommBuffergetSendBuffers ()
 
bool isDriver ()
 
void probeMsgs (int &tag, int &src)
 
void waitForReq (int numReqs)
 
void joinAll ()
 
void joinSlaves ()
 
template<typename T >
size_t getSize (T *data UNUSED, size_t *ds UNUSED, size_t s)
 
template<typename T >
size_t getSize (std::vector< T > *data, size_t *ds UNUSED, size_t s)
 
template<typename T >
size_t getSize (T **data UNUSED, size_t *ds, size_t s)
 
size_t getSize (std::string *data, size_t *ds UNUSED, size_t s)
 
void sendTask (fastTask &task)
 
void recvTask (fastTask &task)
 
void sendTaskResult ()
 
void * recvTaskResult (unsigned long int &tid, unsigned long int &sid, size_t &size, size_t &time, procstat &stat)
 
void sendCreateFDD (unsigned long int id, fddType type, size_t size, int dest)
 
void recvCreateFDD (unsigned long int &id, fddType &type, size_t &size)
 
void sendCreateIFDD (unsigned long int id, fddType kType, fddType tType, size_t size, int dest)
 
void recvCreateIFDD (unsigned long int &id, fddType &kType, fddType &tType, size_t &size)
 
void sendCreateFDDGroup (unsigned long int id, fddType keyType, std::vector< unsigned long int > &members)
 
void recvCreateFDDGroup (unsigned long int &id, fddType &keyType, std::vector< unsigned long int > &members)
 
void sendDiscardFDD (unsigned long int id)
 
void recvDiscardFDD (unsigned long int &id)
 
template<typename T >
void sendFDDSetData (unsigned long int id, int dest, T *data, size_t size)
 
template<typename T >
void sendFDDSetData (unsigned long int id, int dest, T **data, size_t *lineSizes, size_t size)
 
template<typename K , typename T >
void sendFDDSetIData (unsigned long int id, int dest, K *keys, T *data, size_t size)
 
template<typename K , typename T >
void sendFDDSetIData (unsigned long int id, int dest, K *keys, T **data, size_t *lineSizes, size_t size)
 
void recvFDDSetData (unsigned long int &id, void *&data, size_t &size)
 
void recvFDDSetData (unsigned long int &id, void *&data, size_t *&lineSizes, size_t &size)
 
template<typename K , typename T >
void recvFDDSetIData (unsigned long int &id, K *&keys, T *&data, size_t &size)
 
template<typename K , typename T >
void recvFDDSetIData (unsigned long int &id, K *&keys, T *&data, size_t *&lineSizes, size_t &size)
 
template<typename T >
void sendFDDData (unsigned long int id, int dest, T *data, size_t size)
 
template<typename K , typename T >
void sendIFDDData (unsigned long int id, int dest, K *keys, T *data, size_t size)
 
void recvFDDData (unsigned long int &id, void *data, size_t &size)
 
void recvIFDDData (unsigned long int &id, void *keys, void *data, size_t &size)
 
template<typename T >
void sendFDDDataCollect (unsigned long int id, T *data, size_t size)
 
template<typename T >
void sendFDDDataCollect (unsigned long int id, T **data, size_t *dataSizes, size_t size)
 
template<typename K , typename T >
void sendFDDDataCollect (unsigned long int id, K *keys, T *data, size_t size)
 
template<typename K , typename T >
void sendFDDDataCollect (unsigned long int id, K *keys, T **data, size_t *dataSizes, size_t size)
 
template<typename T >
void decodeCollect (T &item)
 
template<typename T >
void decodeCollect (std::pair< T *, size_t > &item)
 
template<typename K , typename T >
void decodeCollect (std::pair< K, T > &item)
 
template<typename K , typename T >
void decodeCollect (std::tuple< K, T *, size_t > &item)
 
template<typename T >
void recvFDDDataCollect (std::vector< T > &ret)
 
void sendReadFDDFile (unsigned long int id, std::string filename, size_t size, size_t offset, int dest)
 
void recvReadFDDFile (unsigned long int &id, std::string &filename, size_t &size, size_t &offset)
 
void sendWriteFDDFile (unsigned long int id, std::string &path, std::string &sufix)
 
void recvWriteFDDFile (unsigned long int &id, std::string &path, std::string &sufix)
 
void sendFDDInfo (size_t size)
 
void recvFDDInfo (size_t &size, int &src)
 
void sendFileName (std::string path)
 
void recvFileName (std::string &filename)
 
void sendCollect (unsigned long int id)
 
void recvCollect (unsigned long int &id)
 
void sendFinish ()
 
void recvFinish ()
 
void bcastBuffer (int src, int i)
 
template<typename K >
void sendKeyMap (unsigned long tid, std::unordered_map< K, int > &keyMap)
 
template<typename K >
void recvKeyMap (unsigned long tid, std::unordered_map< K, int > &keyMap)
 
template<typename K >
void distributeKeyMap (std::unordered_map< K, int > &localKeyMap, std::unordered_map< K, int > &keyMap)
 
template<typename K >
void sendCogroupData (unsigned long tid, std::unordered_map< K, int > &keyMap, std::vector< bool > &flags)
 
template<typename K >
void recvCogroupData (unsigned long tid, std::unordered_map< K, int > &keyMap, std::vector< bool > &flags)
 
bool isSendBufferFree (int i)
 
void sendGroupByKeyData (int i)
 
void * recvGroupByKeyData (int &size)
 
template<typename T >
void sendDataUltraPlus (int dest, T *data, size_t *lineSizes UNUSED, size_t size, int tag, fastCommBuffer &b UNUSED, MPI_Request *request)
 
template<typename T >
void sendDataUltraPlus (int dest, std::vector< T > *data, size_t *lineSizes UNUSED, size_t size, int tag, fastCommBuffer &b UNUSED, MPI_Request *request)
 

Public Attributes

const size_t maxMsgSize = 15000
 

The documentation for this class was generated from the following files: