QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Macros | Functions | Variables
hisq_paths_force_test.cpp File Reference
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <quda.h>
#include "test_util.h"
#include "gauge_field.h"
#include "misc.h"
#include "hisq_force_reference.h"
#include "ks_improved_force.h"
#include "momentum.h"
#include <dslash_quda.h>
#include <sys/time.h>
Include dependency graph for hisq_paths_force_test.cpp:

Go to the source code of this file.

Macros

#define TDIFF(a, b)   (b.tv_sec - a.tv_sec + 0.000001*(b.tv_usec - a.tv_usec))
 

Functions

void usage (char **argv)
 
static void setPrecision (QudaPrecision precision)
 
void total_staple_io_flops (QudaPrecision prec, QudaReconstructType recon, double *io, double *flops)
 
static void hisq_force_init ()
 
static void hisq_force_end ()
 
static int hisq_force_test (void)
 
static void display_test_info ()
 
int main (int argc, char **argv)
 

Variables

int device
 
cudaGaugeFieldcudaGauge = NULL
 
cpuGaugeFieldcpuGauge = NULL
 
cudaGaugeFieldcudaForce = NULL
 
cpuGaugeFieldcpuForce = NULL
 
cudaGaugeFieldcudaMom = NULL
 
cpuGaugeFieldcpuMom = NULL
 
cpuGaugeFieldrefMom = NULL
 
static QudaGaugeParam qudaGaugeParam
 
static QudaGaugeParam qudaGaugeParam_ex
 
static void * hw
 
QudaGaugeFieldOrder gauge_order = QUDA_QDP_GAUGE_ORDER
 
cpuGaugeFieldcpuOprod = NULL
 
cudaGaugeFieldcudaOprod = NULL
 
cpuGaugeFieldcpuLongLinkOprod = NULL
 
cudaGaugeFieldcudaLongLinkOprod = NULL
 
bool verify_results
 
int ODD_BIT = 1
 
int xdim
 
int ydim
 
int zdim
 
int tdim
 
int gridsize_from_cmdline []
 
QudaPrecision prec
 
QudaReconstructType link_recon
 
QudaPrecision link_prec = QUDA_DOUBLE_PRECISION
 
QudaPrecision hw_prec = QUDA_DOUBLE_PRECISION
 
QudaPrecision cpu_hw_prec = QUDA_DOUBLE_PRECISION
 
QudaPrecision mom_prec = QUDA_DOUBLE_PRECISION
 
cudaGaugeFieldcudaGauge_ex = NULL
 
cpuGaugeFieldcpuGauge_ex = NULL
 
cudaGaugeFieldcudaForce_ex = NULL
 
cpuGaugeFieldcpuForce_ex = NULL
 
cpuGaugeFieldcpuOprod_ex = NULL
 
cudaGaugeFieldcudaOprod_ex = NULL
 
cpuGaugeFieldcpuLongLinkOprod_ex = NULL
 
cudaGaugeFieldcudaLongLinkOprod_ex = NULL
 
GaugeFieldParam gParam_ex
 
GaugeFieldParam gParam
 
static int R [4] = {0, 0, 0, 0}
 

Macro Definition Documentation

◆ TDIFF

#define TDIFF (   a,
 
)    (b.tv_sec - a.tv_sec + 0.000001*(b.tv_usec - a.tv_usec))

Definition at line 15 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_test().

Function Documentation

◆ display_test_info()

static void display_test_info ( )
static

Definition at line 411 of file hisq_paths_force_test.cpp.

References gauge_order, get_gauge_order_str(), get_prec_str(), get_recon_str(), link_prec, link_recon, printfQuda, tdim, xdim, ydim, and zdim.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hisq_force_end()

static void hisq_force_end ( )
static

Definition at line 282 of file hisq_paths_force_test.cpp.

References cpuForce_ex, cpuGauge, cpuGauge_ex, cpuLongLinkOprod, cpuLongLinkOprod_ex, cpuMom, cpuOprod, cpuOprod_ex, cudaForce_ex, cudaGauge, cudaGauge_ex, cudaLongLinkOprod_ex, cudaMom, endQuda(), hw, and refMom.

Referenced by hisq_force_test().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hisq_force_init()

static void hisq_force_init ( )
static

◆ hisq_force_test()

static int hisq_force_test ( void  )
static

◆ main()

int main ( int  argc,
char **  argv 
)

◆ setPrecision()

static void setPrecision ( QudaPrecision  precision)
static

Definition at line 66 of file hisq_paths_force_test.cpp.

References cpu_hw_prec, hw_prec, link_prec, and mom_prec.

Referenced by main().

Here is the caller graph for this function:

◆ total_staple_io_flops()

void total_staple_io_flops ( QudaPrecision  prec,
QudaReconstructType  recon,
double *  io,
double *  flops 
)

Definition at line 75 of file hisq_paths_force_test.cpp.

References printfQuda, R, and V.

Referenced by hisq_force_test().

Here is the caller graph for this function:

◆ usage()

void usage ( char **  argv)

Definition at line 1783 of file test_util.cpp.

Referenced by main().

Here is the caller graph for this function:

Variable Documentation

◆ cpu_hw_prec

Definition at line 51 of file hisq_paths_force_test.cpp.

Referenced by setPrecision().

◆ cpuForce

cpuGaugeField* cpuForce = NULL

Definition at line 25 of file hisq_paths_force_test.cpp.

Referenced by computeStaggeredForceQuda().

◆ cpuForce_ex

cpuGaugeField* cpuForce_ex = NULL

Definition at line 57 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cpuGauge

cpuGaugeField* cpuGauge = NULL

◆ cpuGauge_ex

cpuGaugeField* cpuGauge_ex = NULL

Definition at line 55 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cpuLongLinkOprod

cpuGaugeField* cpuLongLinkOprod = NULL

Definition at line 39 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cpuLongLinkOprod_ex

cpuGaugeField* cpuLongLinkOprod_ex = NULL

Definition at line 60 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cpuMom

cpuGaugeField* cpuMom = NULL

◆ cpuOprod

cpuGaugeField* cpuOprod = NULL

Definition at line 37 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cpuOprod_ex

cpuGaugeField* cpuOprod_ex = NULL

Definition at line 58 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cudaForce

cudaGaugeField* cudaForce = NULL

Definition at line 24 of file hisq_paths_force_test.cpp.

Referenced by computeCloverForceQuda(), and computeStaggeredForceQuda().

◆ cudaForce_ex

cudaGaugeField* cudaForce_ex = NULL

Definition at line 56 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cudaGauge

cudaGaugeField* cudaGauge = NULL

◆ cudaGauge_ex

cudaGaugeField* cudaGauge_ex = NULL

Definition at line 54 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cudaLongLinkOprod

cudaGaugeField* cudaLongLinkOprod = NULL

Definition at line 40 of file hisq_paths_force_test.cpp.

◆ cudaLongLinkOprod_ex

cudaGaugeField* cudaLongLinkOprod_ex = NULL

Definition at line 61 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ cudaMom

cudaGaugeField* cudaMom = NULL

◆ cudaOprod

cudaGaugeField* cudaOprod = NULL

Definition at line 38 of file hisq_paths_force_test.cpp.

◆ cudaOprod_ex

cudaGaugeField* cudaOprod_ex = NULL

Definition at line 59 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_test().

◆ device

int device

Definition at line 1602 of file test_util.cpp.

Referenced by hisq_force_init().

◆ gauge_order

◆ gParam

◆ gParam_ex

GaugeFieldParam gParam_ex

Definition at line 63 of file hisq_paths_force_test.cpp.

◆ gridsize_from_cmdline

int gridsize_from_cmdline[]

For MPI, the default node mapping is lexicographical with t varying fastest.

Definition at line 49 of file test_util.cpp.

Referenced by main().

◆ hw

void* hw
static

◆ hw_prec

Definition at line 50 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_init(), and setPrecision().

◆ link_prec

◆ link_recon

QudaReconstructType link_recon

Definition at line 1605 of file test_util.cpp.

Referenced by display_test_info(), hisq_force_init(), and hisq_force_test().

◆ mom_prec

Definition at line 52 of file hisq_paths_force_test.cpp.

Referenced by setPrecision().

◆ ODD_BIT

int ODD_BIT = 1

Definition at line 43 of file hisq_paths_force_test.cpp.

◆ prec

Definition at line 1608 of file test_util.cpp.

Referenced by hisq_force_init(), and main().

◆ qudaGaugeParam

QudaGaugeParam qudaGaugeParam
static

Definition at line 31 of file hisq_paths_force_test.cpp.

◆ qudaGaugeParam_ex

QudaGaugeParam qudaGaugeParam_ex
static

Definition at line 32 of file hisq_paths_force_test.cpp.

◆ R

int R[4] = {0, 0, 0, 0}
static

◆ refMom

cpuGaugeField* refMom = NULL

Definition at line 29 of file hisq_paths_force_test.cpp.

Referenced by hisq_force_end().

◆ tdim

int tdim

Definition at line 1618 of file test_util.cpp.

Referenced by display_test_info(), and hisq_force_init().

◆ verify_results

bool verify_results

Definition at line 1643 of file test_util.cpp.

Referenced by hisq_force_test().

◆ xdim

int xdim

Definition at line 1615 of file test_util.cpp.

Referenced by display_test_info(), and hisq_force_init().

◆ ydim

int ydim

Definition at line 1616 of file test_util.cpp.

Referenced by display_test_info(), and hisq_force_init().

◆ zdim

int zdim

Definition at line 1617 of file test_util.cpp.

Referenced by display_test_info(), and hisq_force_init().