QDP++
qdp_parscalar_layout.cc File Reference

Parscalar layout routines. More...

#include "qdp_diagnostics.h"
#include "qdp.h"
#include "qdp_util.h"
#include "qdp_allocator.h"
#include "qmp.h"

Go to the source code of this file.

Classes

struct  QDP::Layout::LocalLayout_t
 Local data specific to all architectures. More...

Namespaces

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

Functions

template<class T>
std::ostream & QDP::operator<< (std::ostream &s, const multi1d< T > &d)
 Write a multi1d array.
void QDP::Layout::destroy ()
 Main destruction routine.
void QDP::Layout::setLattSize (const multi1d< int > &nrows)
 Set virtual grid (problem grid) lattice size.
void QDP::Layout::setSMPFlag (bool flag)
 Set SMP flag – true if using smp/multiprocessor mode on a node.
void QDP::Layout::setNumProc (int N)
 Set number of processors in a multi-threaded implementation.
const multi1d< int > & QDP::Layout::lattSize ()
 Virtual grid (problem grid) lattice size.
int QDP::Layout::vol ()
 Total lattice volume.
int QDP::Layout::sitesOnNode ()
 Subgrid lattice volume.
bool QDP::Layout::primaryNode ()
 Returns whether this is the primary node.
const multi1d< int > & QDP::Layout::subgridLattSize ()
 Subgrid (grid on each node) lattice size.
int QDP::Layout::nodeNumber ()
 Returns the node number of this node.
int QDP::Layout::numNodes ()
 Returns the number of nodes.
const multi1d< int > & QDP::Layout::nodeCoord ()
 Returns the logical node coordinates for this node.
const multi1d< int > & QDP::Layout::logicalSize ()
 Returns the logical size of this machine.
int QDP::Layout::getNodeNumberFrom (const multi1d< int > &node_coord)
 Returns the node number given some logical node coordinate.
multi1d< int > QDP::Layout::getLogicalCoordFrom (int node)
 Returns the logical node coordinates given some node number.
multi1d< int > QDP::Layout::minimalLayoutMapping ()
 Return the smallest lattice size per node allowed.
void QDP::Layout::init ()
 Initializer for layout.
int QDP::Layout::linearSiteIndex (int site)
 The linearized site index for the corresponding lexicographic site.
bool QDP::Layout::isIOGridDefined (void) QDP_CONST
 check if I/O grid is defined
int QDP::Layout::numIONodeGrid (void) QDP_CONST
 number of I/O nodes
void QDP::Layout::setIONodeGrid (const multi1d< int > &io_grid)
 Set the I/O Node grid – satisfy interface.
const multi1d< int > & QDP::Layout::getIONodeGrid () QDP_CONST
 Get the I/O Node grid.
void QDP::Layout::initDefaults ()
 Initializer for all the layout defaults.
void QDP::Layout::create ()
 Main lattice creation routine.

Variables

struct QDP::Layout::LocalLayout_t QDP::Layout::_layout

Detailed Description

Parscalar layout routines.

Layout routines for parscalar implementation QDP data parallel interface

Layout

This routine provides various layouts, including lexicographic 2-checkerboard (even/odd-checkerboarding of sites) 32-style checkerboard (even/odd-checkerboarding of hypercubes)

Definition in file qdp_parscalar_layout.cc.