QDP++
qdp_parscalarvec_specific.h File Reference

Outer/inner lattice routines specific to a parscalarvec platform. More...

#include "qmp.h"

Go to the source code of this file.

Classes

struct  QDP::FnMap
class  QDP::Map
 General permutation map class for communications. More...
class  QDP::ArrayMap
 Array of general permutation map class for communications. More...
class  QDP::BiDirectionalMap
 BiDirectional of general permutation map class for communications. More...
class  QDP::ArrayBiDirectionalMap
 ArrayBiDirectional of general permutation map class for communications. More...

Namespaces

namespace  QDP
 Yet another random number generator.
namespace  QDP::Layout
 Layout namespace holding info on problem size and machine info.
namespace  QDP::QDPInternal
namespace  QDP::RNG
 Random number generator namespace.

Macros

#define QDP_NOT_IMPLEMENTED

Functions

LatticeInteger QDP::Layout::latticeCoordinate (int mu)
 coord[mu] <- mu : fill with lattice coord in mu direction
int QDP::Layout::outerSitesOnNode ()
 Subgrid lattice volume.
void QDP::QDPInternal::route (void *buffer, int srce_node, int dest_node, int count)
 Route to another node (blocking).
void QDP::QDPInternal::wait (int dir)
 Wait on send-receive.
void QDP::QDPInternal::sendToWait (void *send_buf, int dest_node, int count)
 Send to another node (wait).
void QDP::QDPInternal::recvFromWait (void *recv_buf, int srce_node, int count)
 Receive from another node (wait).
template<class T>
void QDP::QDPInternal::sendToPrimaryNode (T &dest, int srcnode)
 Via some mechanism, get the dest to node 0.
void QDP::QDPInternal::sumAnUnsigned (void *inout, void *in)
 Unsigned accumulate.
void QDP::QDPInternal::globalSumArray (unsigned int *dest, int len)
 Wrapper to get a functional unsigned global sum.
void QDP::QDPInternal::globalSumArray (int *dest, int len)
 Low level hook to QMP_global_sum.
void QDP::QDPInternal::globalSumArray (float *dest, int len)
 Low level hook to QMP_global_sum.
void QDP::QDPInternal::globalSumArray (double *dest, int len)
 Low level hook to QMP_global_sum.
template<class T>
void QDP::QDPInternal::globalSum (T &dest)
 Sum across all nodes.
template<class T>
void QDP::QDPInternal::broadcast (T &dest)
 Broadcast from primary node to all other nodes.
void QDP::QDPInternal::broadcast_str (std::string &result)
 Broadcast a string from primary node to all other nodes.
void QDP::QDPInternal::broadcast (void *dest, size_t nbytes)
 Broadcast from primary node to all other nodes.
template<>
void QDP::QDPInternal::broadcast (std::string &dest)
 Broadcast a string from primary node to all other nodes.
template<class T, class T1, class Op, class RHS>
void QDP::evaluate (OLattice< T > &dest, const Op &op, const QDPExpr< RHS, OScalar< T1 > > &rhs, const Subset &s)
 OLattice Op Scalar(Expression(source)) under an Subset.
template<class T, class T1, class Op, class RHS>
void QDP::evaluate (OLattice< T > &dest, const Op &op, const QDPExpr< RHS, OLattice< T1 > > &rhs, const Subset &s)
 OLattice Op OLattice(Expression(source)) under an Subset.
template<class T1, class T2>
void QDP::copymask (OSubLattice< T2, Subset > d, const OLattice< T1 > &mask, const OLattice< T2 > &s1)
 dest = (mask) ? s1 : dest
template<class T1, class T2>
void QDP::copymask (OLattice< T2 > &dest, const OLattice< T1 > &mask, const OLattice< T2 > &s1)
 dest = (mask) ? s1 : dest
template<class T>
void QDP::random (OScalar< T > &d)
 dest = random
template<class T>
void QDP::random (OLattice< T > &d, const Subset &s)
 dest = random under a subset
template<class T, class S>
void QDP::random (const OSubLattice< T, S > &dd)
 dest = random under a subset
template<class T>
void QDP::random (OLattice< T > &d)
 dest = random
template<class T>
void QDP::gaussian (OLattice< T > &d, const Subset &s)
 dest = gaussian under a subset
template<class T, class S>
void QDP::gaussian (const OSubLattice< T, S > &dd)
 dest = gaussian under a subset
template<class T>
void QDP::gaussian (OLattice< T > &d)
 dest = gaussian
template<class T>
void QDP::zero_rep (OLattice< T > &dest, const Subset &s)
 dest = 0
template<class T, class S>
void QDP::zero_rep (OSubLattice< T, S > dd)
 dest = 0
template<class T>
void QDP::zero_rep (OLattice< T > &dest)
 dest = 0
template<class RHS, class T>
UnaryReturn< OScalar< T >, FnSum >::Type_t QDP::sum (const QDPExpr< RHS, OScalar< T > > &s1, const Subset &s)
 OScalar = sum(OScalar) under an explicit subset.
template<class RHS, class T>
UnaryReturn< OScalar< T >, FnSum >::Type_t QDP::sum (const QDPExpr< RHS, OScalar< T > > &s1)
 OScalar = sum(OScalar).
template<class RHS, class T>
UnaryReturn< OLattice< T >, FnSum >::Type_t QDP::sum (const QDPExpr< RHS, OLattice< T > > &s1, const Subset &s)
 OScalar = sum(OLattice) under an explicit subset.
template<class RHS, class T>
UnaryReturn< OLattice< T >, FnSum >::Type_t QDP::sum (const QDPExpr< RHS, OLattice< T > > &s1)
 OScalar = sum(OLattice).
template<class RHS, class T>
UnaryReturn< OScalar< T >, FnSum >::Type_t QDP::sumMulti (const QDPExpr< RHS, OScalar< T > > &s1, const Set &ss)
 multi1d<OScalar> dest = sumMulti(OScalar,Set)
template<class RHS, class T>
UnaryReturn< OLattice< T >, FnSumMulti >::Type_t QDP::sumMulti (const QDPExpr< RHS, OLattice< T > > &s1, const Set &ss)
 multi1d<OScalar> dest = sumMulti(OLattice,Set)
template<class T>
multi2d< typename UnaryReturn< OScalar< T >, FnSum >::Type_tQDP::sumMulti (const multi1d< OScalar< T > > &s1, const Set &ss)
 multi2d<OScalar> dest = sumMulti(multi1d<OScalar>,Set)
template<class T>
multi2d< typename UnaryReturn< OLattice< T >, FnSum >::Type_tQDP::sumMulti (const multi1d< OLattice< T > > &s1, const Set &ss)
 multi2d<OScalar> dest = sumMulti(multi1d<OLattice>,Set)
template<class T>
UnaryReturn< OScalar< T >, FnNorm2 >::Type_t QDP::norm2 (const multi1d< OScalar< T > > &s1)
 OScalar = norm2(trace(adj(multi1d<source>)*multi1d<source>)).
template<class T>
UnaryReturn< OScalar< T >, FnNorm2 >::Type_t QDP::norm2 (const multi1d< OScalar< T > > &s1, const Subset &s)
 OScalar = sum(OScalar) under an explicit subset.
template<class T>
UnaryReturn< OLattice< T >, FnNorm2 >::Type_t QDP::norm2 (const multi1d< OLattice< T > > &s1, const Subset &s)
 OScalar = norm2(multi1d<OLattice>) under an explicit subset.
template<class T>
UnaryReturn< OLattice< T >, FnNorm2 >::Type_t QDP::norm2 (const multi1d< OLattice< T > > &s1)
 OScalar = norm2(multi1d<OLattice>).
template<class T>
void QDP::write (BinaryWriter &bin, const OScalar< T > &d)
 Binary output.
template<class T>
void QDP::read (BinaryReader &bin, OScalar< T > &d)
 Binary input.
multi1d< int > QDP::crtesn (int ipos, const multi1d< int > &latt_size)
 Decompose a lexicographic site into coordinates.
template<class T>
XMLWriterQDP::operator<< (XMLWriter &xml, const OLattice< T > &d)
 XML output.
template<class T>
void QDP::write (BinaryWriter &bin, const OLattice< T > &d)
 Binary output.
template<class T>
void QDP::write (BinaryWriter &bin, const OLattice< T > &d, const multi1d< int > &coord)
 Write a single site of a lattice quantity.
template<class T>
void QDP::read (BinaryReader &bin, OLattice< T > &d)
 Binary input.
template<class T>
void QDP::read (BinaryReader &bin, OLattice< T > &d, const multi1d< int > &coord)
 Read a single site of a lattice quantity.

Detailed Description

Outer/inner lattice routines specific to a parscalarvec platform.

Definition in file qdp_parscalarvec_specific.h.

Macro Definition Documentation

◆ QDP_NOT_IMPLEMENTED

#define QDP_NOT_IMPLEMENTED

Definition at line 124 of file qdp_parscalarvec_specific.h.