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 | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
quda::ColorSpinorField Class Referenceabstract

#include <color_spinor_field.h>

+ Inheritance diagram for quda::ColorSpinorField:

Public Member Functions

 ColorSpinorField (const ColorSpinorField &)
 
 ColorSpinorField (const ColorSpinorParam &)
 
virtual ~ColorSpinorField ()
 
virtual ColorSpinorFieldoperator= (const ColorSpinorField &)
 
QudaPrecision Precision () const
 
int Ncolor () const
 
int Nspin () const
 
QudaTwistFlavorType TwistFlavor () const
 
int Ndim () const
 
const int * X () const
 
int X (int d) const
 
int RealLength () const
 
int Length () const
 
int TotalLength () const
 
int Stride () const
 
int Volume () const
 
int VolumeCB () const
 
int Pad () const
 
size_t Bytes () const
 
size_t NormBytes () const
 
void PrintDims () const
 
const char * AuxString () const
 
void * V ()
 
const void * V () const
 
void * Norm ()
 
const void * Norm () const
 
int EigvDim () const
 for eigcg only: More...
 
int EigvId () const
 
int EigvVolume () const
 
int EigvStride () const
 
int EigvLength () const
 
int EigvRealLength () const
 
int EigvTotalLength () const
 
size_t EigvBytes () const
 
size_t EigvNormBytes () const
 
int EigvGhostLength () const
 
QudaDWFPCType DWFPCtype () const
 
virtual QudaFieldLocation Location () const =0
 
QudaSiteSubset SiteSubset () const
 
QudaSiteOrder SiteOrder () const
 
QudaFieldOrder FieldOrder () const
 
QudaGammaBasis GammaBasis () const
 
int GhostLength () const
 
const int * GhostFace () const
 
int GhostOffset (const int i) const
 
int GhostNormOffset (const int i) const
 
void * Ghost (const int i)
 
const void * Ghost (const int i) const
 
void * GhostNorm (const int i)
 
const void * GhostNorm (const int i) 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
 

Protected Member Functions

void createGhostZone ()
 
void reset (const ColorSpinorParam &)
 
void fill (ColorSpinorParam &) const
 
void clearGhostPointers ()
 
void setTuningString ()
 
- Protected Member Functions inherited from quda::LatticeField
void resizeBufferPinned (size_t bytes, const int index=0) const
 
void resizeBufferDevice (size_t bytes) const
 

Static Protected Member Functions

static void checkField (const ColorSpinorField &, const ColorSpinorField &)
 

Protected Attributes

bool init
 
QudaPrecision precision
 
int nColor
 
int nSpin
 
int nDim
 
int x [QUDA_MAX_DIM]
 
int volume
 
int volumeCB
 
int pad
 
int stride
 
QudaTwistFlavorType twistFlavor
 
QudaDWFPCType PCtype
 
int real_length
 
int length
 
void * v
 
void * norm
 
int eigv_dim
 used for eigcg: More...
 
int eigv_id
 
int eigv_volume
 
int eigv_stride
 
int eigv_real_length
 
int eigv_length
 
void * ghost [QUDA_MAX_DIM]
 
void * ghostNorm [QUDA_MAX_DIM]
 
int ghostFace [QUDA_MAX_DIM]
 
int ghostOffset [QUDA_MAX_DIM]
 
int ghostNormOffset [QUDA_MAX_DIM]
 
int ghost_length
 
int ghost_norm_length
 
int total_length
 
int total_norm_length
 
size_t bytes
 
size_t norm_bytes
 
int eigv_total_length
 
int eigv_total_norm_length
 
int eigv_ghost_length
 
int eigv_ghost_norm_length
 
size_t eigv_bytes
 
size_t eigv_norm_bytes
 
QudaSiteSubset siteSubset
 
QudaSiteOrder siteOrder
 
QudaFieldOrder fieldOrder
 
QudaGammaBasis gammaBasis
 
ColorSpinorFieldeven
 
ColorSpinorFieldodd
 
std::vector< ColorSpinorField * > eigenvectors
 for eigcg: More...
 
char aux_string [TuneKey::aux_n]
 
- 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]
 

Friends

class ColorSpinorParam
 
std::ostream & operator<< (std::ostream &out, const ColorSpinorField &)
 

Additional Inherited Members

- Static Public Member Functions inherited from quda::LatticeField
static void freeBuffer (int index=0)
 
- 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 141 of file color_spinor_field.h.

Constructor & Destructor Documentation

quda::ColorSpinorField::ColorSpinorField ( const ColorSpinorField field)

Definition at line 29 of file color_spinor_field.cpp.

quda::ColorSpinorField::ColorSpinorField ( const ColorSpinorParam param)

Definition at line 21 of file color_spinor_field.cpp.

quda::ColorSpinorField::~ColorSpinorField ( )
virtual

Definition at line 37 of file color_spinor_field.cpp.

Member Function Documentation

const char* quda::ColorSpinorField::AuxString ( ) const
inline

Definition at line 260 of file color_spinor_field.h.

size_t quda::ColorSpinorField::Bytes ( ) const
inline

Definition at line 256 of file color_spinor_field.h.

void quda::ColorSpinorField::checkField ( const ColorSpinorField a,
const ColorSpinorField b 
)
staticprotected

Definition at line 436 of file color_spinor_field.cpp.

void quda::ColorSpinorField::clearGhostPointers ( )
protected

Definition at line 456 of file color_spinor_field.cpp.

void quda::ColorSpinorField::createGhostZone ( )
protected

includes DW and non-degenerate TM ghosts

temporal hack : extra dimension for DW ghosts

Definition at line 44 of file color_spinor_field.cpp.

QudaDWFPCType quda::ColorSpinorField::DWFPCtype ( ) const
inline

Definition at line 280 of file color_spinor_field.h.

size_t quda::ColorSpinorField::EigvBytes ( ) const
inline

Definition at line 276 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvDim ( ) const
inline

for eigcg only:

Definition at line 268 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvGhostLength ( ) const
inline

Definition at line 278 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvId ( ) const
inline

Definition at line 269 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvLength ( ) const
inline

Definition at line 272 of file color_spinor_field.h.

size_t quda::ColorSpinorField::EigvNormBytes ( ) const
inline

Definition at line 277 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvRealLength ( ) const
inline

Definition at line 273 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvStride ( ) const
inline

Definition at line 271 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvTotalLength ( ) const
inline

Definition at line 274 of file color_spinor_field.h.

int quda::ColorSpinorField::EigvVolume ( ) const
inline

Definition at line 270 of file color_spinor_field.h.

QudaFieldOrder quda::ColorSpinorField::FieldOrder ( ) const
inline

Definition at line 285 of file color_spinor_field.h.

void quda::ColorSpinorField::fill ( ColorSpinorParam param) const
protected

Definition at line 417 of file color_spinor_field.cpp.

QudaGammaBasis quda::ColorSpinorField::GammaBasis ( ) const
inline

Definition at line 286 of file color_spinor_field.h.

void * quda::ColorSpinorField::Ghost ( const int  i)

Definition at line 465 of file color_spinor_field.cpp.

const void * quda::ColorSpinorField::Ghost ( const int  i) const

Definition at line 470 of file color_spinor_field.cpp.

const int* quda::ColorSpinorField::GhostFace ( ) const
inline

Definition at line 289 of file color_spinor_field.h.

int quda::ColorSpinorField::GhostLength ( ) const
inline

Definition at line 288 of file color_spinor_field.h.

void * quda::ColorSpinorField::GhostNorm ( const int  i)

Definition at line 476 of file color_spinor_field.cpp.

const void * quda::ColorSpinorField::GhostNorm ( const int  i) const

Definition at line 481 of file color_spinor_field.cpp.

int quda::ColorSpinorField::GhostNormOffset ( const int  i) const
inline

Definition at line 291 of file color_spinor_field.h.

int quda::ColorSpinorField::GhostOffset ( const int  i) const
inline

Definition at line 290 of file color_spinor_field.h.

int quda::ColorSpinorField::Length ( ) const
inline

Definition at line 250 of file color_spinor_field.h.

virtual QudaFieldLocation quda::ColorSpinorField::Location ( ) const
pure virtual
int quda::ColorSpinorField::Ncolor ( ) const
inline

Definition at line 243 of file color_spinor_field.h.

int quda::ColorSpinorField::Ndim ( ) const
inline

Definition at line 246 of file color_spinor_field.h.

void* quda::ColorSpinorField::Norm ( )
inline

Definition at line 264 of file color_spinor_field.h.

const void* quda::ColorSpinorField::Norm ( ) const
inline

Definition at line 265 of file color_spinor_field.h.

size_t quda::ColorSpinorField::NormBytes ( ) const
inline

Definition at line 257 of file color_spinor_field.h.

int quda::ColorSpinorField::Nspin ( ) const
inline

Definition at line 244 of file color_spinor_field.h.

ColorSpinorField & quda::ColorSpinorField::operator= ( const ColorSpinorField src)
virtual

Reimplemented in quda::cpuColorSpinorField, and quda::cudaColorSpinorField.

Definition at line 280 of file color_spinor_field.cpp.

int quda::ColorSpinorField::Pad ( ) const
inline

Definition at line 255 of file color_spinor_field.h.

QudaPrecision quda::ColorSpinorField::Precision ( ) const
inline

Definition at line 242 of file color_spinor_field.h.

void quda::ColorSpinorField::PrintDims ( ) const
inline

Definition at line 258 of file color_spinor_field.h.

int quda::ColorSpinorField::RealLength ( ) const
inline

Definition at line 249 of file color_spinor_field.h.

void quda::ColorSpinorField::reset ( const ColorSpinorParam param)
protected

for deflated solvers:

Definition at line 290 of file color_spinor_field.cpp.

void quda::ColorSpinorField::setTuningString ( )
protectedvirtual

used as a label in the autotuner

Reimplemented from quda::LatticeField.

Definition at line 253 of file color_spinor_field.cpp.

QudaSiteOrder quda::ColorSpinorField::SiteOrder ( ) const
inline

Definition at line 284 of file color_spinor_field.h.

QudaSiteSubset quda::ColorSpinorField::SiteSubset ( ) const
inline

Definition at line 283 of file color_spinor_field.h.

int quda::ColorSpinorField::Stride ( ) const
inline

Definition at line 252 of file color_spinor_field.h.

int quda::ColorSpinorField::TotalLength ( ) const
inline

Definition at line 251 of file color_spinor_field.h.

QudaTwistFlavorType quda::ColorSpinorField::TwistFlavor ( ) const
inline

Definition at line 245 of file color_spinor_field.h.

void* quda::ColorSpinorField::V ( )
inline

Definition at line 262 of file color_spinor_field.h.

const void* quda::ColorSpinorField::V ( ) const
inline

Definition at line 263 of file color_spinor_field.h.

int quda::ColorSpinorField::Volume ( ) const
inline

Definition at line 253 of file color_spinor_field.h.

int quda::ColorSpinorField::VolumeCB ( ) const
inline

Definition at line 254 of file color_spinor_field.h.

const int* quda::ColorSpinorField::X ( ) const
inline

Definition at line 247 of file color_spinor_field.h.

int quda::ColorSpinorField::X ( int  d) const
inline

Definition at line 248 of file color_spinor_field.h.

Friends And Related Function Documentation

friend class ColorSpinorParam
friend

Definition at line 298 of file color_spinor_field.h.

std::ostream& operator<< ( std::ostream &  out,
const ColorSpinorField a 
)
friend

Definition at line 500 of file color_spinor_field.cpp.

Member Data Documentation

char quda::ColorSpinorField::aux_string[TuneKey::aux_n]
protected

Definition at line 230 of file color_spinor_field.h.

size_t quda::ColorSpinorField::bytes
protected

Definition at line 195 of file color_spinor_field.h.

std::vector<ColorSpinorField*> quda::ColorSpinorField::eigenvectors
protected

for eigcg:

Definition at line 220 of file color_spinor_field.h.

size_t quda::ColorSpinorField::eigv_bytes
protected

Definition at line 207 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_dim
protected

used for eigcg:

Definition at line 175 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_ghost_length
protected

Definition at line 204 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_ghost_norm_length
protected

Definition at line 205 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_id
protected

Definition at line 176 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_length
protected

Definition at line 180 of file color_spinor_field.h.

size_t quda::ColorSpinorField::eigv_norm_bytes
protected

Definition at line 208 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_real_length
protected

Definition at line 179 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_stride
protected

Definition at line 178 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_total_length
protected

Definition at line 202 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_total_norm_length
protected

Definition at line 203 of file color_spinor_field.h.

int quda::ColorSpinorField::eigv_volume
protected

Definition at line 177 of file color_spinor_field.h.

ColorSpinorField* quda::ColorSpinorField::even
protected

Definition at line 216 of file color_spinor_field.h.

QudaFieldOrder quda::ColorSpinorField::fieldOrder
protected

Definition at line 212 of file color_spinor_field.h.

QudaGammaBasis quda::ColorSpinorField::gammaBasis
protected

Definition at line 213 of file color_spinor_field.h.

void* quda::ColorSpinorField::ghost[QUDA_MAX_DIM]
protected

Definition at line 183 of file color_spinor_field.h.

int quda::ColorSpinorField::ghost_length
protected

Definition at line 190 of file color_spinor_field.h.

int quda::ColorSpinorField::ghost_norm_length
protected

Definition at line 191 of file color_spinor_field.h.

int quda::ColorSpinorField::ghostFace[QUDA_MAX_DIM]
protected

Definition at line 186 of file color_spinor_field.h.

void* quda::ColorSpinorField::ghostNorm[QUDA_MAX_DIM]
protected

Definition at line 184 of file color_spinor_field.h.

int quda::ColorSpinorField::ghostNormOffset[QUDA_MAX_DIM]
protected

Definition at line 188 of file color_spinor_field.h.

int quda::ColorSpinorField::ghostOffset[QUDA_MAX_DIM]
protected

Definition at line 187 of file color_spinor_field.h.

bool quda::ColorSpinorField::init
protected

Definition at line 151 of file color_spinor_field.h.

int quda::ColorSpinorField::length
protected

Definition at line 170 of file color_spinor_field.h.

int quda::ColorSpinorField::nColor
protected

Definition at line 154 of file color_spinor_field.h.

int quda::ColorSpinorField::nDim
protected

Definition at line 157 of file color_spinor_field.h.

void* quda::ColorSpinorField::norm
protected

Definition at line 173 of file color_spinor_field.h.

size_t quda::ColorSpinorField::norm_bytes
protected

Definition at line 196 of file color_spinor_field.h.

int quda::ColorSpinorField::nSpin
protected

Definition at line 155 of file color_spinor_field.h.

ColorSpinorField* quda::ColorSpinorField::odd
protected

Definition at line 217 of file color_spinor_field.h.

int quda::ColorSpinorField::pad
protected

Definition at line 162 of file color_spinor_field.h.

QudaDWFPCType quda::ColorSpinorField::PCtype
protected

Definition at line 167 of file color_spinor_field.h.

QudaPrecision quda::ColorSpinorField::precision
protected

Definition at line 152 of file color_spinor_field.h.

int quda::ColorSpinorField::real_length
protected

Definition at line 169 of file color_spinor_field.h.

QudaSiteOrder quda::ColorSpinorField::siteOrder
protected

Definition at line 211 of file color_spinor_field.h.

QudaSiteSubset quda::ColorSpinorField::siteSubset
protected

Definition at line 210 of file color_spinor_field.h.

int quda::ColorSpinorField::stride
protected

Definition at line 163 of file color_spinor_field.h.

int quda::ColorSpinorField::total_length
protected

Definition at line 192 of file color_spinor_field.h.

int quda::ColorSpinorField::total_norm_length
protected

Definition at line 193 of file color_spinor_field.h.

QudaTwistFlavorType quda::ColorSpinorField::twistFlavor
protected

Definition at line 165 of file color_spinor_field.h.

void* quda::ColorSpinorField::v
protected

Definition at line 172 of file color_spinor_field.h.

int quda::ColorSpinorField::volume
protected

Definition at line 160 of file color_spinor_field.h.

int quda::ColorSpinorField::volumeCB
protected

Definition at line 161 of file color_spinor_field.h.

int quda::ColorSpinorField::x[QUDA_MAX_DIM]
protected

Definition at line 158 of file color_spinor_field.h.


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