QDP++
QDP::QDPInternal Namespace Reference

Functions

void broadcast_str (std::string &result)
 Broadcast a string from primary node to all other nodes.
bool gridArch ()
 Is this a grid architecture.
void clearToSend (void *buffer, int count, int node)
 Send a clear-to-send.
void route (void *buffer, int srce_node, int dest_node, int count)
 Route to another node (blocking).
void sendToWait (void *send_buf, int dest_node, int count)
 Send to another node (wait).
void recvFromWait (void *recv_buf, int srce_node, int count)
 Receive from another node (wait).
void wait (int dir)
 Wait on send-receive.
template<class T>
void sendToPrimaryNode (T &dest, int srcnode)
 Via some mechanism, get the dest to node 0.
void sumAnUnsigned (void *inout, void *in)
 Unsigned accumulate.
void globalSumArray (unsigned int *dest, int len)
 Wrapper to get a functional unsigned global sum.
void globalSumArray (int *dest, int len)
 Low level hook to QMP_global_sum.
void globalSumArray (float *dest, int len)
 Low level hook to QMP_global_sum.
void globalSumArray (double *dest, int len)
 Low level hook to QMP_global_sum.
template<class T>
void globalSumArray (multi1d< T > &dest)
 Global sum on a multi1d.
template<class T>
void globalSumArray (multi2d< T > &dest)
 Global sum on a multi2d.
template<class T>
void globalSum (T &dest)
 Sum across all nodes.
template<>
void globalSum (double &dest)
void globalMaxValue (float *dest)
 Low level hook to QMP_max_double.
void globalMaxValue (double *dest)
 Low level hook to QMP_max_double.
template<class T>
void globalMax (T &dest)
 Global max across all nodes.
void globalMinValue (float *dest)
 Low level hook to QMP_min_float.
void globalMinValue (double *dest)
 Low level hook to QMP_min_double.
template<class T>
void globalMin (T &dest)
 Global min across all nodes.
void globalCheckAnd (void *inout, void *in)
 Global And.
void globalAnd (bool &dest)
 Wrapper to get a functional global And.
void globalCheckOr (void *inout, void *in)
 Global Or.
void globalOr (bool &dest)
 Wrapper to get a functional global Or.
template<class T>
void broadcast (T &dest)
 Broadcast from primary node to all other nodes.
void broadcast (void *dest, size_t nbytes)
 Broadcast from primary node to all other nodes.
template<>
void broadcast (std::string &dest)
 Broadcast a string from primary node to all other nodes.
template<>
void broadcast (std::string &dest)
 Broadcast a string from primary node to all other nodes.
template<class T>
void globalSumArray (T *dest, int n)
 Dummy array sum accross all nodes.
template<>
void broadcast (std::string &dest)
 Dummy broadcast from primary node to all other nodes.
template<>
void broadcast (std::string &dest)

Function Documentation

◆ broadcast() [1/6]

template<>
void QDP::QDPInternal::broadcast ( std::string & dest)
inline

Broadcast a string from primary node to all other nodes.

Definition at line 239 of file qdp_parscalar_specific.h.

References broadcast_str().

◆ broadcast() [2/6]

template<>
void QDP::QDPInternal::broadcast ( std::string & dest)
inline

Broadcast a string from primary node to all other nodes.

Definition at line 117 of file qdp_parscalarvec_specific.h.

References broadcast(), and broadcast_str().

◆ broadcast() [3/6]

template<>
void QDP::QDPInternal::broadcast ( std::string & dest)
inline

Dummy broadcast from primary node to all other nodes.

Definition at line 56 of file qdp_scalar_specific.h.

◆ broadcast() [4/6]

template<>
void QDP::QDPInternal::broadcast ( std::string & dest)
inline

Definition at line 50 of file qdp_scalarvec_specific.h.

References broadcast().

◆ broadcast() [5/6]

template<class T>
void QDP::QDPInternal::broadcast ( T & dest)
inline

Broadcast from primary node to all other nodes.

Dummy broadcast from primary node to all other nodes.

Definition at line 223 of file qdp_parscalar_specific.h.

Referenced by broadcast(), broadcast_str(), QDP::MapObjDiskEnv::checkForNewFile(), QDP::BinaryStoreDB< K, D >::close(), QDP::XMLReader::count(), QDP::BinaryReader::currentPosition(), QDP::BinaryReaderWriter::currentPosition(), QDP::BinaryWriter::currentPosition(), QDP::BinaryStoreDB< K, D >::exist(), QDP::BinaryReader::fail(), QDP::BinaryReaderWriter::fail(), QDP::BinaryWriter::fail(), QDP::StandardInputStream::fail(), QDP::StandardOutputStream::fail(), QDP::TextReader::fail(), QDP::TextWriter::fail(), QDP::XMLFileWriter::fail(), QDP::BinaryStoreDB< K, D >::fileExists(), QDP::BinaryStoreDB< K, D >::get(), QDP::BinaryStoreDB< K, D >::getBinary(), QDP::BinaryReader::getChecksum(), QDP::BinaryReaderWriter::getChecksum(), QDP::BinaryWriter::getChecksum(), QDP::BinaryStoreDB< K, D >::getMaxNumberConfigs(), QDP::BinaryStoreDB< K, D >::getMaxUserInfoLen(), QDP::BinaryStoreDB< K, D >::getUserdata(), QDP::BinaryStoreDB< K, D >::insert(), QDP::BinaryStoreDB< K, D >::insertBinary(), QDP::BinaryStoreDB< K, D >::insertUserdata(), QDP::BinaryFileReader::is_open(), QDP::BinaryFileReaderWriter::is_open(), QDP::BinaryFileWriter::is_open(), QDP::TextFileReader::is_open(), QDP::TextFileWriter::is_open(), QDP::XMLFileWriter::is_open(), QDP::BinaryStoreDB< K, D >::open(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::peekSite(), QDP::BinaryReader::read(), QDP::TextReader::read(), QDP::readArchiv(), QDP::BinaryReader::readArray(), QDP::BinaryReader::readArrayLittleEndian(), QDP::XMLReader::readAttrPrimitive(), QDP::BinaryReader::readDesc(), QDP::StandardInputStream::readPrimitive(), QDP::TextReader::readPrimitive(), QDP::XMLReader::readPrimitive(), QDP::BinaryBufferReader::str(), QDP::BinaryBufferReaderWriter::str(), QDP::BinaryBufferWriter::str(), QDP::TextBufferReader::str(), and QDP::TextBufferWriter::str().

◆ broadcast() [6/6]

void QDP::QDPInternal::broadcast ( void * dest,
size_t nbytes )
inline

Broadcast from primary node to all other nodes.

Dummy broadcast from primary node to all other nodes.

Definition at line 232 of file qdp_parscalar_specific.h.

◆ broadcast_str()

void QDP::QDPInternal::broadcast_str ( std::string & result)
inline

Broadcast a string from primary node to all other nodes.

Dummy broadcast a string from primary node to all other nodes.

Definition at line 253 of file qdp_parscalar_specific.cc.

References broadcast(), QDP::Layout::primaryNode(), and QDP::QDP_error_exit().

Referenced by broadcast(), QDP::XMLReader::get(), QDP::BinaryStoreDB< K, D >::getUserdata(), QDP::StandardInputStream::operator>>(), QDP::XMLReader::print(), QDP::XMLReader::printCurrentContext(), and QDP::BinaryStoreDB< K, D >::storageName().

◆ clearToSend()

void QDP::QDPInternal::clearToSend ( void * buffer,
int count,
int node )

◆ globalAnd()

void QDP::QDPInternal::globalAnd ( bool & dest)
inline

Wrapper to get a functional global And.

Dummy global And.

Definition at line 202 of file qdp_parscalar_specific.h.

References globalCheckAnd().

Referenced by QDP::isfinite(), and QDP::isnormal().

◆ globalCheckAnd()

void QDP::QDPInternal::globalCheckAnd ( void * inout,
void * in )
inline

Global And.

Definition at line 196 of file qdp_parscalar_specific.h.

Referenced by globalAnd().

◆ globalCheckOr()

void QDP::QDPInternal::globalCheckOr ( void * inout,
void * in )
inline

Global Or.

Definition at line 210 of file qdp_parscalar_specific.h.

Referenced by globalOr().

◆ globalMax()

template<class T>
void QDP::QDPInternal::globalMax ( T & dest)
inline

Global max across all nodes.

Definition at line 164 of file qdp_parscalar_specific.h.

References globalMaxValue().

Referenced by QDP::globalMax().

◆ globalMaxValue() [1/2]

void QDP::QDPInternal::globalMaxValue ( double * dest)
inline

Low level hook to QMP_max_double.

Definition at line 156 of file qdp_parscalar_specific.h.

◆ globalMaxValue() [2/2]

void QDP::QDPInternal::globalMaxValue ( float * dest)
inline

Low level hook to QMP_max_double.

Definition at line 150 of file qdp_parscalar_specific.h.

Referenced by globalMax().

◆ globalMin()

template<class T>
void QDP::QDPInternal::globalMin ( T & dest)
inline

Global min across all nodes.

Definition at line 187 of file qdp_parscalar_specific.h.

References globalMinValue().

Referenced by QDP::globalMin().

◆ globalMinValue() [1/2]

void QDP::QDPInternal::globalMinValue ( double * dest)
inline

Low level hook to QMP_min_double.

Definition at line 179 of file qdp_parscalar_specific.h.

◆ globalMinValue() [2/2]

void QDP::QDPInternal::globalMinValue ( float * dest)
inline

Low level hook to QMP_min_float.

Definition at line 173 of file qdp_parscalar_specific.h.

Referenced by globalMin().

◆ globalOr()

void QDP::QDPInternal::globalOr ( bool & dest)
inline

Wrapper to get a functional global Or.

Dummy global Or.

Definition at line 216 of file qdp_parscalar_specific.h.

References globalCheckOr().

Referenced by QDP::isinf(), and QDP::isnan().

◆ globalSum() [1/2]

template<>
void QDP::QDPInternal::globalSum ( double & dest)
inline

Definition at line 140 of file qdp_parscalar_specific.h.

References QDP::QDPIO::cout.

◆ globalSum() [2/2]

◆ globalSumArray() [1/7]

void QDP::QDPInternal::globalSumArray ( double * dest,
int len )
inline

Low level hook to QMP_global_sum.

Definition at line 85 of file qdp_parscalar_specific.h.

◆ globalSumArray() [2/7]

void QDP::QDPInternal::globalSumArray ( float * dest,
int len )
inline

Low level hook to QMP_global_sum.

Definition at line 79 of file qdp_parscalar_specific.h.

◆ globalSumArray() [3/7]

void QDP::QDPInternal::globalSumArray ( int * dest,
int len )
inline

Low level hook to QMP_global_sum.

Definition at line 72 of file qdp_parscalar_specific.h.

◆ globalSumArray() [4/7]

template<class T>
void QDP::QDPInternal::globalSumArray ( multi1d< T > & dest)
inline

Global sum on a multi1d.

Dummy global sum on a multi1d.

Definition at line 92 of file qdp_parscalar_specific.h.

◆ globalSumArray() [5/7]

template<class T>
void QDP::QDPInternal::globalSumArray ( multi2d< T > & dest)
inline

◆ globalSumArray() [6/7]

template<class T>
void QDP::QDPInternal::globalSumArray ( T * dest,
int n )
inline

Dummy array sum accross all nodes.

Definition at line 30 of file qdp_scalar_specific.h.

◆ globalSumArray() [7/7]

void QDP::QDPInternal::globalSumArray ( unsigned int * dest,
int len )
inline

◆ gridArch()

bool QDP::QDPInternal::gridArch ( )

Is this a grid architecture.

Definition at line 291 of file qdp_parscalar_specific.cc.

Referenced by clearToSend().

◆ recvFromWait()

◆ route()

void QDP::QDPInternal::route ( void * buffer,
int srce_node,
int dest_node,
int count )

◆ sendToPrimaryNode()

template<class T>
void QDP::QDPInternal::sendToPrimaryNode ( T & dest,
int srcnode )

Via some mechanism, get the dest to node 0.

Ultimately, I do not want to use point-to-point

Definition at line 46 of file qdp_parscalar_specific.h.

References QDP::Layout::nodeNumber(), QDP::Layout::primaryNode(), recvFromWait(), and sendToWait().

Referenced by QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::peekSite().

◆ sendToWait()

◆ sumAnUnsigned()

void QDP::QDPInternal::sumAnUnsigned ( void * inout,
void * in )
inline

Unsigned accumulate.

Definition at line 59 of file qdp_parscalar_specific.h.

Referenced by globalSumArray().

◆ wait()

void QDP::QDPInternal::wait ( int dir)

Wait on send-receive.