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 | Public Attributes | List of all members
quda::cudaGaugeField Class Reference

#include <gauge_field.h>

+ Inheritance diagram for quda::cudaGaugeField:

Public Member Functions

 cudaGaugeField (const GaugeFieldParam &)
 
virtual ~cudaGaugeField ()
 
void exchangeGhost ()
 
void exchangeExtendedGhost (const int *R, bool no_comms_fill=false)
 
void copy (const GaugeField &)
 
void loadCPUField (const cpuGaugeField &, const QudaFieldLocation &)
 
void saveCPUField (cpuGaugeField &, const QudaFieldLocation &) const
 
void * Gauge_p ()
 
void * Even_p ()
 
void * Odd_p ()
 
const void * Gauge_p () const
 
const void * Even_p () const
 
const void * Odd_p () const
 
void backup () const
 
void restore ()
 
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
 
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
 

Public Attributes

char * backup_h
 
bool backed_up
 

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 216 of file gauge_field.h.

Constructor & Destructor Documentation

quda::cudaGaugeField::cudaGaugeField ( const GaugeFieldParam param)

Definition at line 10 of file cuda_gauge_field.cu.

quda::cudaGaugeField::~cudaGaugeField ( )
virtual

Definition at line 140 of file cuda_gauge_field.cu.

Member Function Documentation

void quda::cudaGaugeField::backup ( ) const

Definition at line 475 of file cuda_gauge_field.cu.

void quda::cudaGaugeField::copy ( const GaugeField src)

Definition at line 333 of file cuda_gauge_field.cu.

void* quda::cudaGaugeField::Even_p ( )
inlinevirtual

Reimplemented from quda::GaugeField.

Definition at line 254 of file gauge_field.h.

const void* quda::cudaGaugeField::Even_p ( ) const
inlinevirtual

Reimplemented from quda::GaugeField.

Definition at line 258 of file gauge_field.h.

void quda::cudaGaugeField::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 dimensions

Definition at line 191 of file cuda_gauge_field.cu.

void quda::cudaGaugeField::exchangeGhost ( )

Definition at line 160 of file cuda_gauge_field.cu.

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

Reimplemented from quda::GaugeField.

Definition at line 253 of file gauge_field.h.

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

Reimplemented from quda::GaugeField.

Definition at line 257 of file gauge_field.h.

void quda::cudaGaugeField::loadCPUField ( const cpuGaugeField cpu,
const QudaFieldLocation pack_location 
)

Definition at line 372 of file cuda_gauge_field.cu.

void* quda::cudaGaugeField::Odd_p ( )
inlinevirtual

Reimplemented from quda::GaugeField.

Definition at line 255 of file gauge_field.h.

const void* quda::cudaGaugeField::Odd_p ( ) const
inlinevirtual

Reimplemented from quda::GaugeField.

Definition at line 259 of file gauge_field.h.

void quda::cudaGaugeField::restore ( )

Definition at line 483 of file cuda_gauge_field.cu.

void quda::cudaGaugeField::saveCPUField ( cpuGaugeField cpu,
const QudaFieldLocation pack_location 
) const

Definition at line 439 of file cuda_gauge_field.cu.

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

Definition at line 324 of file cuda_gauge_field.cu.

Member Data Documentation

bool quda::cudaGaugeField::backed_up
mutable

Definition at line 269 of file gauge_field.h.

char* quda::cudaGaugeField::backup_h
mutable

Definition at line 268 of file gauge_field.h.


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