74 for(
int dir=0; dir<
nDim; ++dir) {
94 for(
int dir=0; dir<
nDim; ++dir) {
95 this->x[dir] = x[dir];
112 for (
int d=0; d<
nDim; d++)
r[d] = 0;
116 std::ostream&
operator<<(std::ostream& output,
const GaugeFieldParam&
param);
178 const int*
R()
const {
return r; }
207 virtual const void*
Odd_p()
const {
errorQuda(
"Not implemented");
return (
void*)0;}
210 if (
isNative() )
errorQuda(
"No ghost zone pointer for quda-native gauge fields");
211 return (
const void**)
ghost;
223 #ifdef USE_TEXTURE_OBJECTS
224 cudaTextureObject_t evenTex;
225 cudaTextureObject_t oddTex;
226 cudaTextureObject_t evenPhaseTex;
227 cudaTextureObject_t oddPhaseTex;
228 void createTexObject(cudaTextureObject_t &tex,
void *gauge,
int isPhase=0);
229 void destroyTexObject();
258 const void*
Even_p()
const {
return even; }
259 const void*
Odd_p()
const {
return odd; }
261 #ifdef USE_TEXTURE_OBJECTS
262 const cudaTextureObject_t& EvenTex()
const {
return evenTex; }
263 const cudaTextureObject_t& OddTex()
const {
return oddTex; }
264 const cudaTextureObject_t& EvenPhaseTex()
const {
return evenPhaseTex; }
265 const cudaTextureObject_t& OddPhaseTex()
const {
return oddPhaseTex; }
315 double norm2(
const cudaGaugeField &u);
330 void *Out=0,
void *In=0,
void **ghostOut=0,
void **ghostIn=0,
int type=0);
360 void **ghost,
bool extract);
368 double maxGauge(
const GaugeField &u);
381 #define gaugeSiteSize 18 // real numbers per gauge field
383 #endif // _GAUGE_QUDA_H
size_t PhaseOffset() const
QudaGaugeFieldOrder FieldOrder() const
void setGauge(void **_gauge)
QudaGhostExchange GhostExchange() const
double maxGauge(const GaugeField &u)
const void ** Ghost() const
enum QudaPrecision_s QudaPrecision
void copyGenericGauge(GaugeField &out, const GaugeField &in, QudaFieldLocation location, void *Out=0, void *In=0, void **ghostOut=0, void **ghostIn=0, int type=0)
void exchangeExtendedGhost(const int *R, bool no_comms_fill=false)
void saveCPUField(cpuGaugeField &, const QudaFieldLocation &) const
void * ghost[QUDA_MAX_DIM]
void extractGaugeGhost(const GaugeField &u, void **ghost)
QudaGaugeFieldOrder Order() const
QudaReconstructType reconstruct
bool staggeredPhaseApplied
const void * Even_p() const
const void * Odd_p() const
void applyGaugePhase(GaugeField &u)
enum QudaTboundary_s QudaTboundary
QudaStaggeredPhase staggeredPhaseType
GaugeField(const GaugeFieldParam ¶m)
cudaGaugeField(const GaugeFieldParam &)
std::ostream & operator<<(std::ostream &output, const CloverFieldParam ¶m)
QudaFieldGeometry geometry
QudaStaggeredPhase StaggeredPhase() const
const void * Gauge_p() const
GaugeFieldParam(void *h_gauge, const QudaGaugeParam ¶m)
virtual const void * Even_p() const
virtual const void * Odd_p() const
const QudaFieldLocation location
enum QudaStaggeredPhase_s QudaStaggeredPhase
virtual const void * Gauge_p() const
void exchangeExtendedGhost(const int *R, bool no_comms_fill=false)
bool staggeredPhaseApplied
void extractExtendedGaugeGhost(const GaugeField &u, int dim, const int *R, void **ghost, bool extract)
enum QudaGhostExchange_s QudaGhostExchange
QudaGaugeFieldOrder order
QudaReconstructType Reconstruct() const
enum QudaGaugeFixed_s QudaGaugeFixed
QudaGaugeFixed GaugeFixed() const
void loadCPUField(const cpuGaugeField &, const QudaFieldLocation &)
enum QudaGaugeFieldOrder_s QudaGaugeFieldOrder
const double & LinkMax() const
QudaStaggeredPhase staggeredPhaseType
enum QudaLinkType_s QudaLinkType
const void * Gauge_p() const
QudaGhostExchange ghostExchange
void checkField(const GaugeField &)
enum QudaFieldLocation_s QudaFieldLocation
QudaGhostExchange ghostExchange
cpuColorSpinorField * out
QudaGaugeFieldOrder gauge_order
enum QudaReconstructType_s QudaReconstructType
Main header file for the QUDA library.
GaugeFieldParam(void *const h_gauge=NULL)
QudaLinkType LinkType() const
GaugeFieldParam(const int *x, const QudaPrecision precision, const QudaReconstructType reconstruct, const int pad, const QudaFieldGeometry geometry, const QudaGhostExchange ghostExchange=QUDA_GHOST_EXCHANGE_PAD)
void applyStaggeredPhase()
void setGauge(void *_gauge)
QudaReconstructType reconstruct
void copy(const GaugeField &)
enum QudaFieldCreate_s QudaFieldCreate
enum QudaFieldGeometry_s QudaFieldGeometry
virtual ~cudaGaugeField()
#define QUDA_MAX_DIM
Maximum number of dimensions supported by QUDA. In practice, no routines make use of more than 5...
bool compute_fat_link_max
QudaFieldGeometry geometry
QudaFieldGeometry Geometry() const
QudaGaugeFieldOrder order
double norm2(const ColorSpinorField &)
QudaTboundary TBoundary() const
cpuGaugeField(const GaugeFieldParam &)
size_t PhaseBytes() const
void copyExtendedGauge(GaugeField &out, const GaugeField &in, QudaFieldLocation location, void *Out=0, void *In=0)
double Anisotropy() const
void removeStaggeredPhase()