|
QUDA
1.0.0
|
#include <clover_field.h>


Public Member Functions | |
| cudaCloverField (const CloverFieldParam ¶m) | |
| virtual | ~cudaCloverField () |
| void | copy (const CloverField &src, bool inverse=true) |
| Copy into this CloverField from the generic CloverField src. More... | |
| void | loadCPUField (const cpuCloverField &cpu) |
| void | saveCPUField (cpuCloverField &cpu) const |
Public Member Functions inherited from quda::CloverField | |
| CloverField (const CloverFieldParam ¶m) | |
| virtual | ~CloverField () |
| void * | V (bool inverse=false) |
| void * | Norm (bool inverse=false) |
| const void * | V (bool inverse=false) const |
| const void * | Norm (bool inverse=false) const |
| bool | isNative () const |
| double * | TrLog () const |
| QudaCloverFieldOrder | Order () const |
| size_t | Bytes () const |
| size_t | NormBytes () const |
| int | Ncolor () const |
| int | Nspin () const |
| double | Csw () const |
| bool | Twisted () const |
| double | Mu2 () const |
| double | Rho () const |
| void | setRho (double rho) |
| Bakes in the rho factor into the clover field, (for real diagonal additive Hasenbusch), e.g., A + rho. More... | |
| double | norm1 () const |
| Compute the L1 norm of the field. More... | |
| double | norm2 () const |
| Compute the L2 norm squared of the field. More... | |
| double | abs_max () const |
| Compute the absolute maximum of the field (Linfinity norm) More... | |
| double | abs_min () const |
| Compute the absolute minimum of the field. More... | |
Public Member Functions inherited from quda::LatticeField | |
| LatticeField (const LatticeFieldParam ¶m) | |
| LatticeField (const LatticeField &field) | |
| virtual | ~LatticeField () |
| void | allocateGhostBuffer (size_t ghost_bytes) const |
| Allocate the static ghost buffers. More... | |
| void | createComms (bool no_comms_fill=false, bool bidir=true) |
| void | destroyComms () |
| void | createIPCComms () |
| bool | ipcCopyComplete (int dir, int dim) |
| bool | ipcRemoteCopyComplete (int dir, int dim) |
| const cudaEvent_t & | getIPCCopyEvent (int dir, int dim) const |
| const cudaEvent_t & | getIPCRemoteCopyEvent (int dir, int dim) const |
| 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 |
| const int * | R () const |
| QudaGhostExchange | GhostExchange () const |
| QudaPrecision | Precision () const |
| QudaPrecision | GhostPrecision () const |
| double | Scale () const |
| void | Scale (double scale_) |
| Set the scale factor for a fixed-point field. More... | |
| virtual QudaSiteSubset | SiteSubset () const |
| virtual QudaMemoryType | MemType () const |
| int | Nvec () const |
| QudaFieldLocation | Location () const |
| size_t | GBytes () const |
| void | checkField (const LatticeField &a) const |
| virtual void | read (char *filename) |
| virtual void | write (char *filename) |
| virtual void | gather (int nFace, int dagger, int dir, cudaStream_t *stream_p=NULL) |
| virtual void | commsStart (int nFace, int dir, int dagger=0, cudaStream_t *stream_p=NULL, bool gdr_send=false, bool gdr_recv=true) |
| virtual int | commsQuery (int nFace, int dir, int dagger=0, cudaStream_t *stream_p=NULL, bool gdr_send=false, bool gdr_recv=true) |
| virtual void | commsWait (int nFace, int dir, int dagger=0, cudaStream_t *stream_p=NULL, bool gdr_send=false, bool gdr_recv=true) |
| virtual void | scatter (int nFace, int dagger, int dir) |
| const char * | VolString () const |
| const char * | AuxString () const |
| virtual void | backup () const |
| Backs up the LatticeField. More... | |
| virtual void | restore () const |
| Restores the LatticeField. More... | |
Public Member Functions inherited from quda::Object | |
| Object () | |
| virtual | ~Object () |
Private Member Functions | |
| void | compute (const cudaGaugeField &gauge) |
Private Attributes | |
| void * | even |
| void * | odd |
| void * | evenNorm |
| void * | oddNorm |
| void * | evenInv |
| void * | oddInv |
| void * | evenInvNorm |
| void * | oddInvNorm |
Friends | |
| class | DiracClover |
| class | DiracCloverPC |
| struct | FullClover |
Definition at line 168 of file clover_field.h.
| quda::cudaCloverField::cudaCloverField | ( | const CloverFieldParam & | param | ) |
Definition at line 78 of file clover_field.cpp.
References quda::CloverField::bytes, checkCudaError, quda::CloverFieldParam::clover, quda::CloverField::clover, quda::CloverFieldParam::cloverInv, quda::CloverField::cloverInv, quda::CloverField::create, deviceProp, quda::CloverFieldParam::direct, errorQuda, even, evenInv, evenInvNorm, evenNorm, quda::CloverFieldParam::inverse, quda::CloverFieldParam::invNorm, quda::CloverField::invNorm, quda::is_aligned(), quda::CloverField::isNative(), memset(), quda::CloverFieldParam::mu2, quda::CloverField::mu2, quda::CloverFieldParam::norm, quda::CloverField::norm, quda::CloverField::norm_bytes, odd, oddInv, oddInvNorm, oddNorm, pool_device_malloc, quda::LatticeField::precision, QUDA_DOUBLE_PRECISION, QUDA_HALF_PRECISION, QUDA_NULL_FIELD_CREATE, QUDA_QUARTER_PRECISION, QUDA_REFERENCE_FIELD_CREATE, QUDA_SINGLE_PRECISION, quda::LatticeField::total_bytes, quda::CloverFieldParam::twisted, and quda::CloverField::twisted.

|
virtual |
Definition at line 263 of file clover_field.cpp.
References checkCudaError, quda::CloverField::clover, quda::CloverField::cloverInv, quda::CloverField::create, quda::CloverField::invNorm, pool_device_free, and QUDA_REFERENCE_FIELD_CREATE.
|
private |
Computes Fmunu given the gauge field U
Definition at line 379 of file clover_field.cpp.
References quda::computeClover(), errorQuda, quda::LatticeField::precision, quda::LatticeField::Precision(), and QUDA_CUDA_FIELD_LOCATION.

| void quda::cudaCloverField::copy | ( | const CloverField & | src, |
| bool | inverse = true |
||
| ) |
Copy into this CloverField from the generic CloverField src.
| src | The clover field from which we want to copy |
| inverse | Are we copying the inverse or direct field |
Definition at line 281 of file clover_field.cpp.
References quda::CloverField::bytes, quda::CloverField::Bytes(), checkCudaError, quda::LatticeField::checkField(), quda::CloverField::clover, quda::CloverField::cloverInv, quda::copyGenericClover(), errorQuda, quda::inverse(), quda::CloverField::invNorm, quda::CloverField::Norm(), quda::CloverField::norm_bytes, quda::CloverField::NormBytes(), pool_device_free, pool_device_malloc, pool_pinned_free, pool_pinned_malloc, quda::LatticeField::precision, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, QUDA_HALF_PRECISION, QUDA_QUARTER_PRECISION, qudaDeviceSynchronize, qudaMemcpy, quda::reorder_location(), and quda::CloverField::V().
Referenced by loadCloverQuda(), loadCPUField(), and loadSloppyCloverQuda().


| void quda::cudaCloverField::loadCPUField | ( | const cpuCloverField & | cpu | ) |
Copy into this CloverField from the cpuCloverField cpu
| cpu | The cpu clover field from which we want to copy |
Definition at line 340 of file clover_field.cpp.
References copy().

| void quda::cudaCloverField::saveCPUField | ( | cpuCloverField & | cpu | ) | const |
Copy from this CloverField into cpuCloverField cpu
| cpu | The cpu clover destination field |
Definition at line 342 of file clover_field.cpp.
References quda::CloverField::bytes, checkCudaError, quda::LatticeField::checkField(), quda::CloverField::clover, quda::CloverField::cloverInv, quda::copyGenericClover(), errorQuda, quda::CloverField::invNorm, quda::CloverField::norm_bytes, pool_pinned_free, pool_pinned_malloc, quda::LatticeField::precision, QUDA_CPU_FIELD_LOCATION, QUDA_HALF_PRECISION, qudaDeviceSynchronize, qudaMemcpy, and quda::CloverField::V().
Referenced by quda::CoarseOp().


|
friend |
Definition at line 238 of file clover_field.h.
|
friend |
Definition at line 239 of file clover_field.h.
|
friend |
Definition at line 240 of file clover_field.h.
|
private |
Definition at line 171 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 174 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 175 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 172 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 171 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 174 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 175 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
|
private |
Definition at line 172 of file clover_field.h.
Referenced by cudaCloverField(), and quda::FullClover::FullClover().
1.8.13