|
QUDA
v0.7.0
A library for QCD on GPUs
|
#include <complex>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <short.h>#include <wilson_dslash_reference.h>#include <test_util.h>#include <face_quda.h>#include <dslash_quda.h>#include "misc.h"Go to the source code of this file.
Macros | |
| #define | XUP 0 |
| #define | YUP 1 |
| #define | ZUP 2 |
| #define | TUP 3 |
Functions | |
| void | initComms (int argc, char **argv, const int *commDims) |
| void | finalizeComms () |
| void | initRand () |
| void | setDims (int *X) |
| void | dw_setDims (int *X, const int L5) |
| void | setSpinorSiteSize (int n) |
| void | printSpinorElement (void *spinor, int X, QudaPrecision precision) |
| void | printGaugeElement (void *gauge, int X, QudaPrecision precision) |
| int | getOddBit (int Y) |
| template<typename Float > | |
| void | complexAddTo (Float *a, Float *b) |
| template<typename Float > | |
| void | complexProduct (Float *a, Float *b, Float *c) |
| template<typename Float > | |
| void | complexConjugateProduct (Float *a, Float *b, Float *c) |
| template<typename Float > | |
| void | complexDotProduct (Float *a, Float *b, Float *c) |
| template<typename Float > | |
| void | accumulateComplexProduct (Float *a, Float *b, Float *c, Float sign) |
| template<typename Float > | |
| void | accumulateComplexDotProduct (Float *a, Float *b, Float *c) |
| template<typename Float > | |
| void | accumulateConjugateProduct (Float *a, Float *b, Float *c, int sign) |
| template<typename Float > | |
| void | su3Construct12 (Float *mat) |
| template<typename Float > | |
| void | su3Construct8 (Float *mat) |
| void | su3_construct (void *mat, QudaReconstructType reconstruct, QudaPrecision precision) |
| void | su3_reconstruct (void *mat, int dir, int ga_idx, QudaReconstructType reconstruct, QudaPrecision precision, QudaGaugeParam *param) |
| int | compare_floats (void *a, void *b, int len, double epsilon, QudaPrecision precision) |
| int | fullLatticeIndex (int dim[4], int index, int oddBit) |
| int | fullLatticeIndex (int i, int oddBit) |
| int | neighborIndex (int i, int oddBit, int dx4, int dx3, int dx2, int dx1) |
| int | neighborIndex (int dim[4], int index, int oddBit, int dx[4]) |
| int | neighborIndex_mg (int i, int oddBit, int dx4, int dx3, int dx2, int dx1) |
| int | neighborIndexFullLattice (int i, int dx4, int dx3, int dx2, int dx1) |
| int | neighborIndexFullLattice (int dim[4], int index, int dx[4]) |
| int | neighborIndexFullLattice_mg (int i, int dx4, int dx3, int dx2, int dx1) |
| int | fullLatticeIndex_4d (int i, int oddBit) |
| int | fullLatticeIndex_5d (int i, int oddBit) |
| int | fullLatticeIndex_5d_4dpc (int i, int oddBit) |
| int | x4_from_full_index (int i) |
| template<typename Float > | |
| void | applyGaugeFieldScaling_long (Float **gauge, int Vh, QudaGaugeParam *param) |
| template<typename Float > | |
| void | constructUnitaryGaugeField (Float **res) |
| void | construct_gauge_field (void **gauge, int type, QudaPrecision precision, QudaGaugeParam *param) |
| void | construct_fat_long_gauge_field (void **fatlink, void **longlink, int type, QudaPrecision precision, QudaGaugeParam *param, QudaDslashType dslash_type) |
| void | construct_clover_field (void *clover, double norm, double diag, QudaPrecision precision) |
| void | check_gauge (void **oldG, void **newG, double epsilon, QudaPrecision precision) |
| void | createSiteLinkCPU (void **link, QudaPrecision precision, int phase) |
| template<typename Float > | |
| int | compareLink (Float **linkA, Float **linkB, int len) |
| int | strong_check_link (void **linkA, const char *msgA, void **linkB, const char *msgB, int len, QudaPrecision prec) |
| void | createMomCPU (void *mom, QudaPrecision precision) |
| void | createHwCPU (void *hw, QudaPrecision precision) |
| template<typename Float > | |
| int | compare_mom (Float *momA, Float *momB, int len) |
| int | strong_check_mom (void *momA, void *momB, int len, QudaPrecision prec) |
| int | dimPartitioned (int dim) |
| void | __attribute__ ((weak)) usage_extra(char **argv) |
| void | usage (char **argv) |
| int | process_command_line_option (int argc, char **argv, int *idx) |
| void | stopwatchStart () |
| double | stopwatchReadSeconds () |
| #define TUP 3 |
Definition at line 25 of file test_util.cpp.
| #define XUP 0 |
Definition at line 22 of file test_util.cpp.
| #define YUP 1 |
Definition at line 23 of file test_util.cpp.
| #define ZUP 2 |
Definition at line 24 of file test_util.cpp.
| void __attribute__ | ( | (weak) | ) |
Definition at line 1582 of file test_util.cpp.
|
inline |
Definition at line 231 of file test_util.cpp.
|
inline |
Definition at line 224 of file test_util.cpp.
|
inline |
Definition at line 237 of file test_util.cpp.
| void applyGaugeFieldScaling_long | ( | Float ** | gauge, |
| int | Vh, | ||
| QudaGaugeParam * | param | ||
| ) |
Definition at line 723 of file test_util.cpp.
| void check_gauge | ( | void ** | oldG, |
| void ** | newG, | ||
| double | epsilon, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 1156 of file test_util.cpp.
| int compare_floats | ( | void * | a, |
| void * | b, | ||
| int | len, | ||
| double | epsilon, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 395 of file test_util.cpp.
| int compare_mom | ( | Float * | momA, |
| Float * | momB, | ||
| int | len | ||
| ) |
Definition at line 1454 of file test_util.cpp.
| int compareLink | ( | Float ** | linkA, |
| Float ** | linkB, | ||
| int | len | ||
| ) |
Definition at line 1296 of file test_util.cpp.
|
inline |
Definition at line 196 of file test_util.cpp.
|
inline |
Definition at line 210 of file test_util.cpp.
|
inline |
Definition at line 217 of file test_util.cpp.
|
inline |
Definition at line 203 of file test_util.cpp.
| void construct_clover_field | ( | void * | clover, |
| double | norm, | ||
| double | diag, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 1103 of file test_util.cpp.
| void construct_fat_long_gauge_field | ( | void ** | fatlink, |
| void ** | longlink, | ||
| int | type, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam * | param, | ||
| QudaDslashType | dslash_type | ||
| ) |
Definition at line 1018 of file test_util.cpp.
| void construct_gauge_field | ( | void ** | gauge, |
| int | type, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam * | param | ||
| ) |
Definition at line 1003 of file test_util.cpp.
| void constructUnitaryGaugeField | ( | Float ** | res | ) |
Definition at line 944 of file test_util.cpp.
| void createHwCPU | ( | void * | hw, |
| QudaPrecision | precision | ||
| ) |
Definition at line 1429 of file test_util.cpp.
| void createMomCPU | ( | void * | mom, |
| QudaPrecision | precision | ||
| ) |
Definition at line 1391 of file test_util.cpp.
| void createSiteLinkCPU | ( | void ** | link, |
| QudaPrecision | precision, | ||
| int | phase | ||
| ) |
Definition at line 1166 of file test_util.cpp.
| int dimPartitioned | ( | int | dim | ) |
Definition at line 1577 of file test_util.cpp.
| void dw_setDims | ( | int * | X, |
| const int | L5 | ||
| ) |
Definition at line 125 of file test_util.cpp.
| void finalizeComms | ( | ) |
Definition at line 65 of file test_util.cpp.
| int fullLatticeIndex | ( | int | dim[4], |
| int | index, | ||
| int | oddBit | ||
| ) |
Definition at line 400 of file test_util.cpp.
| int fullLatticeIndex | ( | int | i, |
| int | oddBit | ||
| ) |
Definition at line 413 of file test_util.cpp.
| int fullLatticeIndex_4d | ( | int | i, |
| int | oddBit | ||
| ) |
Definition at line 616 of file test_util.cpp.
| int fullLatticeIndex_5d | ( | int | i, |
| int | oddBit | ||
| ) |
Definition at line 650 of file test_util.cpp.
| int fullLatticeIndex_5d_4dpc | ( | int | i, |
| int | oddBit | ||
| ) |
Definition at line 655 of file test_util.cpp.
| int getOddBit | ( | int | Y | ) |
Definition at line 186 of file test_util.cpp.
| void initComms | ( | int | argc, |
| char ** | argv, | ||
| const int * | commDims | ||
| ) |
Definition at line 48 of file test_util.cpp.
| void initRand | ( | ) |
Definition at line 75 of file test_util.cpp.
| int neighborIndex | ( | int | i, |
| int | oddBit, | ||
| int | dx4, | ||
| int | dx3, | ||
| int | dx2, | ||
| int | dx1 | ||
| ) |
Definition at line 450 of file test_util.cpp.
| int neighborIndex | ( | int | dim[4], |
| int | index, | ||
| int | oddBit, | ||
| int | dx[4] | ||
| ) |
Definition at line 468 of file test_util.cpp.
| int neighborIndex_mg | ( | int | i, |
| int | oddBit, | ||
| int | dx4, | ||
| int | dx3, | ||
| int | dx2, | ||
| int | dx1 | ||
| ) |
Definition at line 485 of file test_util.cpp.
| int neighborIndexFullLattice | ( | int | i, |
| int | dx4, | ||
| int | dx3, | ||
| int | dx2, | ||
| int | dx1 | ||
| ) |
Definition at line 521 of file test_util.cpp.
| int neighborIndexFullLattice | ( | int | dim[4], |
| int | index, | ||
| int | dx[4] | ||
| ) |
Definition at line 544 of file test_util.cpp.
| int neighborIndexFullLattice_mg | ( | int | i, |
| int | dx4, | ||
| int | dx3, | ||
| int | dx2, | ||
| int | dx1 | ||
| ) |
Definition at line 569 of file test_util.cpp.
| void printGaugeElement | ( | void * | gauge, |
| int | X, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 170 of file test_util.cpp.
| void printSpinorElement | ( | void * | spinor, |
| int | X, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 162 of file test_util.cpp.
| int process_command_line_option | ( | int | argc, |
| char ** | argv, | ||
| int * | idx | ||
| ) |
Definition at line 1635 of file test_util.cpp.
| void setDims | ( | int * | X | ) |
Definition at line 88 of file test_util.cpp.
| void setSpinorSiteSize | ( | int | n | ) |
Definition at line 150 of file test_util.cpp.
| double stopwatchReadSeconds | ( | ) |
Definition at line 2059 of file test_util.cpp.
| void stopwatchStart | ( | ) |
Definition at line 2055 of file test_util.cpp.
| int strong_check_link | ( | void ** | linkA, |
| const char * | msgA, | ||
| void ** | linkB, | ||
| const char * | msgB, | ||
| int | len, | ||
| QudaPrecision | prec | ||
| ) |
Definition at line 1365 of file test_util.cpp.
| int strong_check_mom | ( | void * | momA, |
| void * | momB, | ||
| int | len, | ||
| QudaPrecision | prec | ||
| ) |
Definition at line 1502 of file test_util.cpp.
| void su3_construct | ( | void * | mat, |
| QudaReconstructType | reconstruct, | ||
| QudaPrecision | precision | ||
| ) |
Definition at line 261 of file test_util.cpp.
| void su3_reconstruct | ( | void * | mat, |
| int | dir, | ||
| int | ga_idx, | ||
| QudaReconstructType | reconstruct, | ||
| QudaPrecision | precision, | ||
| QudaGaugeParam * | param | ||
| ) |
Definition at line 351 of file test_util.cpp.
|
inline |
Definition at line 243 of file test_util.cpp.
|
inline |
Definition at line 255 of file test_util.cpp.
| void usage | ( | char ** | argv | ) |
Definition at line 1584 of file test_util.cpp.
| int x4_from_full_index | ( | int | i | ) |
Definition at line 661 of file test_util.cpp.
| QudaDagType dagger = QUDA_DAG_NO |
Definition at line 1558 of file test_util.cpp.
| int device = 0 |
Definition at line 1546 of file test_util.cpp.
| QudaDslashType dslash_type = QUDA_WILSON_DSLASH |
Definition at line 1560 of file test_util.cpp.
| int E[4] |
Definition at line 37 of file test_util.cpp.
| int E1 |
Definition at line 36 of file test_util.cpp.
| int E1h |
Definition at line 36 of file test_util.cpp.
| int E2 |
Definition at line 36 of file test_util.cpp.
| int E3 |
Definition at line 36 of file test_util.cpp.
| int E4 |
Definition at line 36 of file test_util.cpp.
| int faceVolume[4] |
Definition at line 33 of file test_util.cpp.
| float fat_link_max |
| int gridsize_from_cmdline[4] = {1,1,1,1} |
Definition at line 1559 of file test_util.cpp.
| QudaInverterType inv_type |
Definition at line 1565 of file test_util.cpp.
| bool kernel_pack_t = false |
Definition at line 1571 of file test_util.cpp.
| char latfile[256] = "" |
Definition at line 1561 of file test_util.cpp.
| QudaReconstructType link_recon = QUDA_RECONSTRUCT_NO |
Definition at line 1549 of file test_util.cpp.
| QudaReconstructType link_recon_sloppy = QUDA_RECONSTRUCT_INVALID |
Definition at line 1550 of file test_util.cpp.
| int Ls |
Definition at line 40 of file test_util.cpp.
| int Lsdim = 16 |
Definition at line 1557 of file test_util.cpp.
| double mass = 0.1 |
Definition at line 1569 of file test_util.cpp.
| QudaMatPCType matpc_type = QUDA_MATPC_EVEN_EVEN |
Definition at line 1573 of file test_util.cpp.
| int multishift = 0 |
Definition at line 1567 of file test_util.cpp.
| int mySpinorSiteSize |
Definition at line 44 of file test_util.cpp.
| int niter = 10 |
Definition at line 1563 of file test_util.cpp.
| QudaMassNormalization normalization = QUDA_KAPPA_NORMALIZATION |
Definition at line 1572 of file test_util.cpp.
Definition at line 1551 of file test_util.cpp.
| QudaPrecision prec_sloppy = QUDA_INVALID_PRECISION |
Definition at line 1552 of file test_util.cpp.
| QudaInverterType precon_type = QUDA_INVALID_INVERTER |
Definition at line 1566 of file test_util.cpp.
| int tdim = 24 |
Definition at line 1556 of file test_util.cpp.
| int test_type = 0 |
Definition at line 1564 of file test_util.cpp.
| bool tune = true |
Definition at line 1562 of file test_util.cpp.
| QudaTwistFlavorType twist_flavor = QUDA_TWIST_MINUS |
Definition at line 1570 of file test_util.cpp.
| int V |
Definition at line 29 of file test_util.cpp.
| int V5 |
Definition at line 41 of file test_util.cpp.
| int V5h |
Definition at line 42 of file test_util.cpp.
| int V_ex |
Definition at line 38 of file test_util.cpp.
| bool verify_results = true |
Definition at line 1568 of file test_util.cpp.
| int Vh |
Definition at line 30 of file test_util.cpp.
| int Vh_ex |
Definition at line 38 of file test_util.cpp.
| int Vs_t |
Definition at line 31 of file test_util.cpp.
| int Vs_x |
Definition at line 31 of file test_util.cpp.
| int Vs_y |
Definition at line 31 of file test_util.cpp.
| int Vs_z |
Definition at line 31 of file test_util.cpp.
| int Vsh_t |
Definition at line 32 of file test_util.cpp.
| int Vsh_x |
Definition at line 32 of file test_util.cpp.
| int Vsh_y |
Definition at line 32 of file test_util.cpp.
| int Vsh_z |
Definition at line 32 of file test_util.cpp.
| int xdim = 24 |
Definition at line 1553 of file test_util.cpp.
| int ydim = 24 |
Definition at line 1554 of file test_util.cpp.
| int Z[4] |
Definition at line 28 of file test_util.cpp.
| int zdim = 24 |
Definition at line 1555 of file test_util.cpp.
1.8.6