QUDA
1.0.0
|
#include <cstdio>
#include <cstdlib>
#include <string.h>
#include <sys/time.h>
#include <assert.h>
#include <quda_internal.h>
#include <comm_quda.h>
#include <test_util.h>
#include "gauge_field.h"
Go to the source code of this file.
Macros | |
#define | gaugeSiteSize 18 |
#define | MEMCOPY_GAUGE_FIELDS_GRID_TO_BUF(ghost_buf, dst_idx, sitelink, src_idx, num, dir, geom) |
#define | MEMCOPY_GAUGE_FIELDS_BUF_TO_GRID(sitelink, dst_idx, ghost_buf, src_idx, num, dir, geom) |
#define | MEMCOPY_GAUGE_FIELDS_BUF_TO_GRID_T(sitelink, ghost_buf, dst_face, src_face, dir, geom) |
Enumerations | |
enum | { XUP = 0, YUP = 1, ZUP = 2, TUP = 3, TDOWN = 4, ZDOWN = 5, YDOWN = 6, XDOWN = 7 } |
Functions | |
void | setup_dims_in_gauge (int *XX) |
static void | setup_dims (int *X) |
template<typename Float > | |
void | packGhostAllStaples (Float *cpuStaple, Float **cpuGhostBack, Float **cpuGhostFwd, int nFace, int *X) |
void | pack_ghost_all_staples_cpu (void *staple, void **cpuGhostStapleBack, void **cpuGhostStapleFwd, int nFace, QudaPrecision precision, int *X) |
void | pack_gauge_diag (void *buf, int *X, void **sitelink, int nu, int mu, int dir1, int dir2, QudaPrecision prec) |
template<typename Float > | |
void | packGhostAllLinks (Float **cpuLink, Float **cpuGhostBack, Float **cpuGhostFwd, int dir, int nFace, int *X) |
void | pack_ghost_all_links (void **cpuLink, void **cpuGhostBack, void **cpuGhostFwd, int dir, int nFace, QudaPrecision precision, int *X) |
void | exchange_llfat_init (QudaPrecision prec) |
template<typename Float > | |
void | exchange_sitelink_diag (int *X, Float **sitelink, Float **ghost_sitelink_diag, int optflag) |
template<typename Float > | |
void | exchange_sitelink (int *X, Float **sitelink, Float **ghost_sitelink, Float **ghost_sitelink_diag, Float **sitelink_fwd_sendbuf, Float **sitelink_back_sendbuf, int optflag) |
void | exchange_cpu_sitelink (int *X, void **sitelink, void **ghost_sitelink, void **ghost_sitelink_diag, QudaPrecision gPrecision, QudaGaugeParam *param, int optflag) |
void | exchange_cpu_sitelink_ex (int *X, int *R, void **sitelink, QudaGaugeFieldOrder cpu_order, QudaPrecision gPrecision, int optflag, int geometry) |
template<typename Float > | |
void | do_exchange_cpu_staple (Float *staple, Float **ghost_staple, Float **staple_fwd_sendbuf, Float **staple_back_sendbuf, int *X) |
void | exchange_cpu_staple (int *X, void *staple, void **ghost_staple, QudaPrecision gPrecision) |
void | exchange_llfat_cleanup (void) |
Variables | |
cudaStream_t * | stream |
static void * | fwd_nbr_staple [4] |
static void * | back_nbr_staple [4] |
static void * | fwd_nbr_staple_sendbuf [4] |
static void * | back_nbr_staple_sendbuf [4] |
static int | dims [4] |
static int | X1 |
static int | X2 |
static int | X3 |
static int | X4 |
static int | volumeCB |
static int | Vs [4] |
static int | Vsh [4] |
#define gaugeSiteSize 18 |
Definition at line 34 of file face_gauge.cpp.
Referenced by applyGaugeFieldScaling(), applyGaugeFieldScaling_long(), computeFatLongGPU(), computeFatLongGPUandCPU(), computeHISQLinksCPU(), computeHISQLinksGPU(), construct_fat_long_gauge_field(), constructGaugeField(), constructUnitaryGaugeField(), constructUnitGaugeField(), covdevReference(), createMomCPU(), createSiteLinkCPU(), display_link(), do_exchange_cpu_staple(), dslashReference(), dslashReference_4d_sgpu(), eigensolve_test(), exchange_cpu_sitelink(), exchange_cpu_sitelink_ex(), exchange_cpu_staple(), exchange_llfat_init(), exchange_sitelink(), exchange_sitelink_diag(), gauge_force_reference_dir(), gauge_force_test(), hisq_force_test(), hisq_test(), init(), invert_test(), link_sanity_check(), llfat_test(), main(), matdagmat(), pack_gauge_diag(), packGhostAllLinks(), packGhostAllStaples(), plaq_test(), printGaugeElement(), printLinkElement(), site_link_sanity_check(), SU3test(), TEST(), and unitarize_link_test().
#define MEMCOPY_GAUGE_FIELDS_BUF_TO_GRID | ( | sitelink, | |
dst_idx, | |||
ghost_buf, | |||
src_idx, | |||
num, | |||
dir, | |||
geom | |||
) |
Definition at line 561 of file face_gauge.cpp.
Referenced by exchange_cpu_sitelink_ex().
#define MEMCOPY_GAUGE_FIELDS_BUF_TO_GRID_T | ( | sitelink, | |
ghost_buf, | |||
dst_face, | |||
src_face, | |||
dir, | |||
geom | |||
) |
Definition at line 594 of file face_gauge.cpp.
Referenced by exchange_cpu_sitelink_ex().
#define MEMCOPY_GAUGE_FIELDS_GRID_TO_BUF | ( | ghost_buf, | |
dst_idx, | |||
sitelink, | |||
src_idx, | |||
num, | |||
dir, | |||
geom | |||
) |
Definition at line 544 of file face_gauge.cpp.
Referenced by exchange_cpu_sitelink_ex().
anonymous enum |
Enumerator | |
---|---|
XUP | |
YUP | |
ZUP | |
TUP | |
TDOWN | |
ZDOWN | |
YDOWN | |
XDOWN |
Definition at line 21 of file face_gauge.cpp.
void do_exchange_cpu_staple | ( | Float * | staple, |
Float ** | ghost_staple, | ||
Float ** | staple_fwd_sendbuf, | ||
Float ** | staple_back_sendbuf, | ||
int * | X | ||
) |
Definition at line 930 of file face_gauge.cpp.
References comm_declare_receive_relative, comm_declare_send_relative, comm_free(), comm_start(), comm_wait(), gaugeSiteSize, pack_ghost_all_staples_cpu(), Vsh, Vsh_t, Vsh_x, Vsh_y, and Vsh_z.
Referenced by exchange_cpu_staple().
void exchange_cpu_sitelink | ( | int * | X, |
void ** | sitelink, | ||
void ** | ghost_sitelink, | ||
void ** | ghost_sitelink_diag, | ||
QudaPrecision | gPrecision, | ||
QudaGaugeParam * | param, | ||
int | optflag | ||
) |
Definition at line 512 of file face_gauge.cpp.
References exchange_sitelink(), gaugeSiteSize, host_free, memset(), QUDA_DOUBLE_PRECISION, safe_malloc, setup_dims(), and Vs.
Referenced by computeHISQLinksCPU(), and llfat_test().
void exchange_cpu_sitelink_ex | ( | int * | X, |
int * | R, | ||
void ** | sitelink, | ||
QudaGaugeFieldOrder | cpu_order, | ||
QudaPrecision | gPrecision, | ||
int | optflag, | ||
int | geometry | ||
) |
Definition at line 644 of file face_gauge.cpp.
References comm_declare_receive_relative, comm_declare_send_relative, comm_free(), comm_start(), comm_wait(), quda::commDim, commDimPartitioned(), E, gaugeSiteSize, host_free, MEMCOPY_GAUGE_FIELDS_BUF_TO_GRID, MEMCOPY_GAUGE_FIELDS_BUF_TO_GRID_T, MEMCOPY_GAUGE_FIELDS_GRID_TO_BUF, safe_malloc, and Vh_ex.
Referenced by computeHISQLinksCPU(), gauge_force_test(), and llfat_test().
void exchange_cpu_staple | ( | int * | X, |
void * | staple, | ||
void ** | ghost_staple, | ||
QudaPrecision | gPrecision | ||
) |
Definition at line 980 of file face_gauge.cpp.
References do_exchange_cpu_staple(), gaugeSiteSize, host_free, QUDA_DOUBLE_PRECISION, safe_malloc, setup_dims(), Vs, Vs_t, Vs_x, Vs_y, and Vs_z.
Referenced by llfat_reference().
void exchange_llfat_cleanup | ( | void | ) |
Definition at line 1007 of file face_gauge.cpp.
References back_nbr_staple, back_nbr_staple_sendbuf, checkCudaError, fwd_nbr_staple, fwd_nbr_staple_sendbuf, and host_free.
Referenced by hisq_test(), llfat_test(), and unitarize_link_test().
void exchange_llfat_init | ( | QudaPrecision | prec | ) |
Definition at line 373 of file face_gauge.cpp.
References back_nbr_staple, back_nbr_staple_sendbuf, fwd_nbr_staple, fwd_nbr_staple_sendbuf, gaugeSiteSize, initialized, pinned_malloc, prec, and Vs.
void exchange_sitelink | ( | int * | X, |
Float ** | sitelink, | ||
Float ** | ghost_sitelink, | ||
Float ** | ghost_sitelink_diag, | ||
Float ** | sitelink_fwd_sendbuf, | ||
Float ** | sitelink_back_sendbuf, | ||
int | optflag | ||
) |
Definition at line 463 of file face_gauge.cpp.
References comm_declare_receive_relative, comm_declare_send_relative, comm_free(), comm_start(), comm_wait(), commDimPartitioned(), exchange_sitelink_diag(), gaugeSiteSize, pack_ghost_all_links(), and Vsh.
Referenced by exchange_cpu_sitelink().
void exchange_sitelink_diag | ( | int * | X, |
Float ** | sitelink, | ||
Float ** | ghost_sitelink_diag, | ||
int | optflag | ||
) |
Definition at line 394 of file face_gauge.cpp.
References comm_declare_receive_displaced(), comm_declare_send_displaced(), comm_free(), comm_start(), comm_wait(), commDimPartitioned(), errorQuda, gaugeSiteSize, host_free, mu, pack_gauge_diag(), safe_malloc, TUP, and XUP.
Referenced by exchange_sitelink().
void pack_gauge_diag | ( | void * | buf, |
int * | X, | ||
void ** | sitelink, | ||
int | nu, | ||
int | mu, | ||
int | dir1, | ||
int | dir2, | ||
QudaPrecision | prec | ||
) |
Definition at line 193 of file face_gauge.cpp.
References errorQuda, gaugeSiteSize, and tmp.
Referenced by exchange_sitelink_diag().
void pack_ghost_all_links | ( | void ** | cpuLink, |
void ** | cpuGhostBack, | ||
void ** | cpuGhostFwd, | ||
int | dir, | ||
int | nFace, | ||
QudaPrecision | precision, | ||
int * | X | ||
) |
Definition at line 364 of file face_gauge.cpp.
References packGhostAllLinks(), and QUDA_DOUBLE_PRECISION.
Referenced by exchange_sitelink().
void pack_ghost_all_staples_cpu | ( | void * | staple, |
void ** | cpuGhostStapleBack, | ||
void ** | cpuGhostStapleFwd, | ||
int | nFace, | ||
QudaPrecision | precision, | ||
int * | X | ||
) |
Definition at line 184 of file face_gauge.cpp.
References packGhostAllStaples(), and QUDA_DOUBLE_PRECISION.
Referenced by do_exchange_cpu_staple().
void packGhostAllLinks | ( | Float ** | cpuLink, |
Float ** | cpuGhostBack, | ||
Float ** | cpuGhostFwd, | ||
int | dir, | ||
int | nFace, | ||
int * | X | ||
) |
Definition at line 258 of file face_gauge.cpp.
References comm_dim(), gaugeSiteSize, index(), and volumeCB.
Referenced by pack_ghost_all_links().
void packGhostAllStaples | ( | Float * | cpuStaple, |
Float ** | cpuGhostBack, | ||
Float ** | cpuGhostFwd, | ||
int | nFace, | ||
int * | X | ||
) |
Definition at line 76 of file face_gauge.cpp.
References comm_dim(), gaugeSiteSize, index(), and volumeCB.
Referenced by pack_ghost_all_staples_cpu().
|
static |
void setup_dims_in_gauge | ( | int * | XX | ) |
|
static |
Definition at line 37 of file face_gauge.cpp.
Referenced by exchange_llfat_cleanup(), and exchange_llfat_init().
|
static |
Definition at line 39 of file face_gauge.cpp.
Referenced by exchange_llfat_cleanup(), and exchange_llfat_init().
|
static |
Definition at line 41 of file face_gauge.cpp.
Referenced by quda::ColorSpinorField::createGhostZone(), indexFromFaceIndexExtendedStaggered(), indexFromFaceIndexStaggered(), quda::indexFromFaceIndexStaggered(), init_default_comms(), kinetic_quda_(), and setup_dims().
|
static |
Definition at line 36 of file face_gauge.cpp.
Referenced by exchange_llfat_cleanup(), and exchange_llfat_init().
|
static |
Definition at line 38 of file face_gauge.cpp.
Referenced by exchange_llfat_cleanup(), and exchange_llfat_init().
cudaStream_t* stream |
Definition at line 897 of file cuda_color_spinor_field.cpp.
Referenced by quda::DomainWall5D< Float, nDim, nColor, Arg >::apply(), quda::Staggered< Float, nDim, nColor, Arg >::apply(), quda::TwistedMass< Float, nDim, nColor, Arg >::apply(), quda::WilsonClover< Float, nDim, nColor, Arg >::apply(), quda::TwistedClover< Float, nDim, nColor, Arg >::apply(), quda::NdegTwistedMass< Float, nDim, nColor, Arg >::apply(), quda::DomainWall4D< Float, nDim, nColor, Arg >::apply(), quda::WilsonCloverPreconditioned< Float, nDim, nColor, Arg >::apply(), quda::TwistedCloverPreconditioned< Float, nDim, nColor, Arg >::apply(), quda::Wilson< Float, nDim, nColor, Arg >::apply(), quda::TwistedMassPreconditioned< Float, nDim, nColor, Arg >::apply(), quda::Laplace< Float, nDim, nColor, Arg >::apply(), quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >::apply(), quda::blas::MultiReduceCuda< NXZ, doubleN, ReduceType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, Reducer >::apply(), quda::blas::ReduceCuda< doubleN, ReduceType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::apply(), quda::dslash::commsComplete(), quda::computeMomAction(), quda::forceRecord(), quda::Dslash< Float >::instantiate(), quda::dslash::issueRecv(), quda::isUnitary(), quda::PackGhost(), quda::updateMomentum(), quda::Tunable::~Tunable(), and quda::Worker::~Worker().
|
static |
Definition at line 43 of file face_gauge.cpp.
Referenced by quda::clover::FieldOrder< Float, nColor, nSpin, order >::Bytes(), quda::colorspinor::FieldOrderCB< Float, coarseSpin, coarseColor, 1, csOrder, Float, ghostFloat >::Bytes(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::Bytes(), quda::DslashCoarsePolicyTune::flops(), packGhostAllLinks(), packGhostAllStaples(), setup_dims(), quda::clover::FieldOrder< Float, nColor, nSpin, order >::Volume(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::Volume(), quda::clover::FieldOrder< Float, nColor, nSpin, order >::VolumeCB(), quda::LatticeField::VolumeCB(), quda::colorspinor::FieldOrderCB< Float, coarseSpin, coarseColor, 1, csOrder, Float, ghostFloat >::VolumeCB(), and quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::VolumeCB().
|
static |
Definition at line 44 of file face_gauge.cpp.
Referenced by exchange_cpu_sitelink(), exchange_cpu_staple(), exchange_llfat_init(), llfat_test(), and setup_dims().
|
static |
Definition at line 44 of file face_gauge.cpp.
Referenced by do_exchange_cpu_staple(), exchange_sitelink(), and setup_dims().
|
static |
Definition at line 42 of file face_gauge.cpp.
Referenced by applyGaugeFieldScaling_long(), computeHISQLinksCPU(), createSiteLinkCPU(), fullLatticeIndex(), fullLatticeIndex_4d(), gauge_force_test(), gaugeLink_mgpu(), gf_neighborIndexFullLattice(), LoadStore< Real >::half_idx_conversion_ex2normal(), LoadStore< Real >::half_idx_conversion_normal2ex(), link_sanity_check_internal_12(), link_sanity_check_internal_8(), llfat_reference(), llfat_test(), quda::neighborIndex(), set_params(), setup_dims(), site_link_sanity_check_internal_12(), and spinorNeighbor_5d().
|
static |
Definition at line 42 of file face_gauge.cpp.
Referenced by applyGaugeFieldScaling_long(), computeHISQLinksCPU(), createSiteLinkCPU(), fullLatticeIndex(), fullLatticeIndex_4d(), gauge_force_test(), gaugeLink_mgpu(), gf_neighborIndexFullLattice(), LoadStore< Real >::half_idx_conversion_ex2normal(), LoadStore< Real >::half_idx_conversion_normal2ex(), link_sanity_check_internal_12(), link_sanity_check_internal_8(), llfat_reference(), llfat_test(), quda::neighborIndex(), set_params(), setup_dims(), site_link_sanity_check_internal_12(), and spinorNeighbor_5d().
|
static |
Definition at line 42 of file face_gauge.cpp.
Referenced by applyGaugeFieldScaling_long(), computeHISQLinksCPU(), createSiteLinkCPU(), fullLatticeIndex(), fullLatticeIndex_4d(), gauge_force_test(), gaugeLink_mgpu(), gf_neighborIndexFullLattice(), LoadStore< Real >::half_idx_conversion_ex2normal(), LoadStore< Real >::half_idx_conversion_normal2ex(), link_sanity_check_internal_12(), link_sanity_check_internal_8(), llfat_reference(), llfat_test(), quda::neighborIndex(), set_params(), setup_dims(), site_link_sanity_check_internal_12(), and spinorNeighbor_5d().
|
static |
Definition at line 42 of file face_gauge.cpp.
Referenced by applyGaugeFieldScaling_long(), computeHISQLinksCPU(), createSiteLinkCPU(), gauge_force_test(), gaugeLink_mgpu(), link_sanity_check_internal_12(), link_sanity_check_internal_8(), llfat_test(), quda::neighborIndex(), set_params(), setup_dims(), site_link_sanity_check_internal_12(), and spinorNeighbor_5d().