QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends | List of all members
quda::cpuGaugeField Class Reference

#include <gauge_field.h>

+ Inheritance diagram for quda::cpuGaugeField:

Public Member Functions

 cpuGaugeField (const GaugeFieldParam &)
 
virtual ~cpuGaugeField ()
 
void exchangeGhost ()
 
void exchangeExtendedGhost (const int *R, bool no_comms_fill=false)
 
void * Gauge_p ()
 
const void * Gauge_p () const
 
void setGauge (void **_gauge)
 
- Public Member Functions inherited from quda::GaugeField
 GaugeField (const GaugeFieldParam &param)
 
virtual ~GaugeField ()
 
int Length () const
 
int Ncolor () const
 
QudaReconstructType Reconstruct () const
 
QudaGaugeFieldOrder Order () const
 
double Anisotropy () const
 
double Tadpole () const
 
double Scale () const
 
QudaTboundary TBoundary () const
 
QudaLinkType LinkType () const
 
QudaGaugeFixed GaugeFixed () const
 
QudaGaugeFieldOrder FieldOrder () const
 
QudaFieldGeometry Geometry () const
 
const int * R () const
 
QudaGhostExchange GhostExchange () const
 
QudaStaggeredPhase StaggeredPhase () const
 
void applyStaggeredPhase ()
 
void removeStaggeredPhase ()
 
const double & LinkMax () const
 
int Nface () const
 
void checkField (const GaugeField &)
 
size_t Bytes () const
 
size_t PhaseBytes () const
 
size_t PhaseOffset () const
 
virtual void * Even_p ()
 
virtual void * Odd_p ()
 
virtual const void * Even_p () const
 
virtual const void * Odd_p () const
 
const void ** Ghost () const
 
- Public Member Functions inherited from quda::LatticeField
 LatticeField (const LatticeFieldParam &param)
 
virtual ~LatticeField ()
 
int Ndim () const
 
const int * X () const
 
int Volume () const
 
int VolumeCB () const
 
const int * SurfaceCB () const
 
int SurfaceCB (const int i) const
 
int Stride () const
 
int Pad () const
 
int Nvec () const
 
QudaPrecision Precision () const
 
QudaFieldLocation Location () const
 
size_t GBytes () const
 
void checkField (const LatticeField &)
 
virtual void pack (int nFace, int parity, int dagger, cudaStream_t *stream_p, bool zeroCopyPack, double a=0, double b=0)
 
virtual void gather (int nFace, int dagger, int dir, cudaStream_t *stream_p=NULL)
 
virtual void commsStart (int nFace, int dir, int dagger=0)
 
virtual int commsQuery (int nFace, int dir, int dagger=0)
 
virtual void scatter (int nFace, int dagger, int dir)
 
const char * VolString () const
 

Friends

void cudaGaugeField::copy (const GaugeField &cpu)
 
void cudaGaugeField::loadCPUField (const cpuGaugeField &cpu, const QudaFieldLocation &)
 
void cudaGaugeField::saveCPUField (cpuGaugeField &cpu, const QudaFieldLocation &) const
 

Additional Inherited Members

- Static Public Member Functions inherited from quda::LatticeField
static void freeBuffer (int index=0)
 
- Protected Member Functions inherited from quda::GaugeField
bool isNative () const
 
- Protected Member Functions inherited from quda::LatticeField
void resizeBufferPinned (size_t bytes, const int index=0) const
 
void resizeBufferDevice (size_t bytes) const
 
virtual void setTuningString ()
 
- Protected Attributes inherited from quda::GaugeField
size_t bytes
 
int phase_offset
 
int phase_bytes
 
int length
 
int real_length
 
int nColor
 
int nFace
 
QudaFieldGeometry geometry
 
QudaReconstructType reconstruct
 
QudaGaugeFieldOrder order
 
QudaGaugeFixed fixed
 
QudaLinkType link_type
 
QudaTboundary t_boundary
 
double anisotropy
 
double tadpole
 
double fat_link_max
 
double scale
 
QudaFieldCreate create
 
int r [QUDA_MAX_DIM]
 
QudaGhostExchange ghostExchange
 
void * ghost [QUDA_MAX_DIM]
 
QudaStaggeredPhase staggeredPhaseType
 
bool staggeredPhaseApplied
 
- Protected Attributes inherited from quda::LatticeField
int volume
 
int volumeCB
 
int stride
 
int pad
 
size_t total_bytes
 
int nDim
 
int x [QUDA_MAX_DIM]
 
int surface [QUDA_MAX_DIM]
 
int surfaceCB [QUDA_MAX_DIM]
 
QudaPrecision precision
 
QudaSiteSubset siteSubset
 
int nDimComms
 
void * my_face [2]
 
void * my_fwd_face [2][QUDA_MAX_DIM]
 
void * my_back_face [2][QUDA_MAX_DIM]
 
void * from_face [2]
 
void * from_back_face [2][QUDA_MAX_DIM]
 
void * from_fwd_face [2][QUDA_MAX_DIM]
 
MsgHandle *** mh_recv_fwd [2]
 
MsgHandle *** mh_recv_back [2]
 
MsgHandle *** mh_send_fwd [2]
 
MsgHandle *** mh_send_back [2]
 
char vol_string [TuneKey::volume_n]
 
- Static Protected Attributes inherited from quda::LatticeField
static void * bufferPinned [2] = {NULL}
 
static bool bufferPinnedInit [2] = {false}
 
static size_t bufferPinnedBytes [2] = {0}
 
static size_t bufferPinnedResizeCount = 0
 
static void * bufferDevice = NULL
 
static bool bufferDeviceInit = false
 
static size_t bufferDeviceBytes = 0
 

Detailed Description

Definition at line 278 of file gauge_field.h.

Constructor & Destructor Documentation

quda::cpuGaugeField::cpuGaugeField ( const GaugeFieldParam param)

Definition at line 9 of file cpu_gauge_field.cpp.

quda::cpuGaugeField::~cpuGaugeField ( )
virtual

Definition at line 88 of file cpu_gauge_field.cpp.

Member Function Documentation

void quda::cpuGaugeField::exchangeExtendedGhost ( const int *  R,
bool  no_comms_fill = false 
)

This does routine will populate the border / halo region of a gauge field that has been created using copyExtendedGauge.

Parameters
RThe thickness of the extended region in each dimension
no_comms_fillDo local exchange to fill out the extended region in non-partitioned dimenions

Definition at line 133 of file cpu_gauge_field.cpp.

void quda::cpuGaugeField::exchangeGhost ( )

Definition at line 119 of file cpu_gauge_field.cpp.

void* quda::cpuGaugeField::Gauge_p ( )
inlinevirtual

Reimplemented from quda::GaugeField.

Definition at line 304 of file gauge_field.h.

const void* quda::cpuGaugeField::Gauge_p ( ) const
inlinevirtual

Reimplemented from quda::GaugeField.

Definition at line 305 of file gauge_field.h.

void quda::cpuGaugeField::setGauge ( void **  _gauge)

Definition at line 194 of file cpu_gauge_field.cpp.

Friends And Related Function Documentation

void cudaGaugeField::copy ( const GaugeField cpu)
friend
void cudaGaugeField::loadCPUField ( const cpuGaugeField cpu,
const QudaFieldLocation  
)
friend
void cudaGaugeField::saveCPUField ( cpuGaugeField cpu,
const QudaFieldLocation  
) const
friend

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