QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Macros | Functions | Variables
multigrid_benchmark_test.cu File Reference
#include <stdio.h>
#include <stdlib.h>
#include <quda_internal.h>
#include <color_spinor_field.h>
#include <blas_quda.h>
#include <test_util.h>
#include <misc.h>
#include <dslash_util.h>
#include <dirac_quda.h>
Include dependency graph for multigrid_benchmark_test.cu:

Go to the source code of this file.

Macros

#define MAX(a, b)   ((a)>(b)?(a):(b))
 
#define MAX(a, b)   ((a)>(b)?(a):(b))
 

Functions

void usage (char **)
 
void display_test_info ()
 
void initFields (QudaPrecision prec)
 
void freeFields ()
 
double benchmark (int test, const int niter)
 
int main (int argc, char **argv)
 

Variables

QudaDslashType dslash_type
 
QudaInverterType inv_type
 
int nvec
 
int device
 
int xdim
 
int ydim
 
int zdim
 
int tdim
 
int gridsize_from_cmdline []
 
int niter
 
int Nsrc
 
bool verify_results
 
int test_type
 
QudaPrecision prec
 
QudaPrecision prec_sloppy
 
QudaPrecision smoother_halo_prec
 
ColorSpinorFieldxH
 
ColorSpinorFieldyH
 
ColorSpinorFieldxD
 
ColorSpinorFieldyD
 
cpuGaugeFieldY_h
 
cpuGaugeFieldX_h
 
cpuGaugeFieldXinv_h
 
cpuGaugeFieldYhat_h
 
cudaGaugeFieldY_d
 
cudaGaugeFieldX_d
 
cudaGaugeFieldXinv_d
 
cudaGaugeFieldYhat_d
 
int Nspin
 
int Ncolor
 
DiracCoarsedirac
 
const char * names []
 

Macro Definition Documentation

◆ MAX [1/2]

#define MAX (   a,
 
)    ((a)>(b)?(a):(b))

Definition at line 51 of file multigrid_benchmark_test.cu.

Referenced by initFields().

◆ MAX [2/2]

#define MAX (   a,
 
)    ((a)>(b)?(a):(b))

Definition at line 51 of file multigrid_benchmark_test.cu.

Function Documentation

◆ benchmark()

double benchmark ( int  test,
const int  niter 
)

Definition at line 191 of file multigrid_benchmark_test.cu.

References quda::DiracCoarse::Clover(), quda::DiracCoarse::Dslash(), quda::blas::end(), errorQuda, quda::ColorSpinorField::Even(), quda::DiracCoarse::M(), niter, quda::ColorSpinorField::Odd(), and QUDA_EVEN_PARITY.

Referenced by main().

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

◆ display_test_info()

void display_test_info ( )

Definition at line 54 of file multigrid_benchmark_test.cu.

References dimPartitioned(), Ncolor, Nspin, 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:

◆ freeFields()

void freeFields ( )

Definition at line 170 of file multigrid_benchmark_test.cu.

References X_d, X_h, xD, xH, Xinv_d, Xinv_h, Y_d, Y_h, yD, yH, Yhat_d, and Yhat_h.

Referenced by main().

Here is the caller graph for this function:

◆ initFields()

void initFields ( QudaPrecision  prec)

Definition at line 68 of file multigrid_benchmark_test.cu.

References checkCudaError, quda::cudaGaugeField::copy(), quda::GaugeFieldParam::create, quda::ColorSpinorParam::create, quda::ColorSpinorParam::fieldOrder, quda::ColorSpinorParam::gammaBasis, quda::GaugeFieldParam::geometry, quda::LatticeFieldParam::ghostExchange, gParam, quda::GaugeFieldParam::link_type, MAX, quda::GaugeFieldParam::nColor, Ncolor, quda::ColorSpinorParam::nColor, quda::LatticeFieldParam::nDim, quda::GaugeFieldParam::nFace, Nspin, quda::ColorSpinorParam::nSpin, Nsrc, quda::GaugeFieldParam::order, quda::LatticeFieldParam::pad, param, quda::ColorSpinorParam::pc_type, prec_sloppy, quda::LatticeFieldParam::Precision(), QUDA_4D_PC, QUDA_COARSE_GEOMETRY, QUDA_COARSE_LINKS, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, QUDA_DOUBLE_PRECISION, QUDA_EVEN_ODD_SITE_ORDER, QUDA_FLOAT2_FIELD_ORDER, QUDA_FLOAT2_GAUGE_ORDER, QUDA_FULL_SITE_SUBSET, QUDA_GHOST_EXCHANGE_NO, QUDA_GHOST_EXCHANGE_PAD, QUDA_PERIODIC_T, QUDA_QDP_GAUGE_ORDER, QUDA_RECONSTRUCT_NO, QUDA_SCALAR_GEOMETRY, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER, QUDA_UKQCD_GAMMA_BASIS, QUDA_ZERO_FIELD_CREATE, quda::GaugeFieldParam::reconstruct, quda::GaugeFieldParam::setPrecision(), quda::ColorSpinorParam::setPrecision(), quda::ColorSpinorParam::siteOrder, quda::LatticeFieldParam::siteSubset, quda::GaugeFieldParam::t_boundary, tdim, quda::LatticeFieldParam::x, xdim, ydim, and zdim.

Referenced by main().

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

◆ main()

int main ( int  argc,
char **  argv 
)

◆ usage()

void usage ( char **  )

Definition at line 1783 of file test_util.cpp.

Referenced by main().

Here is the caller graph for this function:

Variable Documentation

◆ device

int device

Definition at line 1602 of file test_util.cpp.

Referenced by main().

◆ dirac

DiracCoarse* dirac

Definition at line 189 of file multigrid_benchmark_test.cu.

Referenced by main().

◆ dslash_type

QudaDslashType dslash_type

Definition at line 1621 of file test_util.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().

◆ inv_type

QudaInverterType inv_type

Definition at line 1640 of file test_util.cpp.

◆ names

const char* names[]
Initial value:
= {
"Dslash",
"Mat",
"Clover"
}

Definition at line 224 of file multigrid_benchmark_test.cu.

Referenced by main().

◆ Ncolor

int Ncolor

Definition at line 49 of file multigrid_benchmark_test.cu.

Referenced by display_test_info(), initFields(), and main().

◆ niter

int niter

Definition at line 1629 of file test_util.cpp.

Referenced by benchmark(), and main().

◆ Nspin

int Nspin

Definition at line 48 of file multigrid_benchmark_test.cu.

Referenced by display_test_info(), initFields(), and main().

◆ Nsrc

int Nsrc

Definition at line 1627 of file test_util.cpp.

Referenced by initFields().

◆ nvec

int nvec

Definition at line 1637 of file test_util.cpp.

◆ prec

Definition at line 1608 of file test_util.cpp.

Referenced by main().

◆ prec_sloppy

QudaPrecision prec_sloppy

Definition at line 1609 of file test_util.cpp.

Referenced by initFields(), and main().

◆ smoother_halo_prec

QudaPrecision smoother_halo_prec

Definition at line 1694 of file test_util.cpp.

Referenced by main().

◆ tdim

int tdim

Definition at line 1618 of file test_util.cpp.

Referenced by display_test_info(), initFields(), and main().

◆ test_type

int test_type

Definition at line 1636 of file test_util.cpp.

Referenced by main().

◆ verify_results

bool verify_results

Definition at line 1643 of file test_util.cpp.

◆ X_d

Definition at line 46 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ X_h

Definition at line 45 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ xD

Definition at line 43 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ xdim

int xdim

Definition at line 1615 of file test_util.cpp.

Referenced by display_test_info(), initFields(), and main().

◆ xH

Definition at line 42 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ Xinv_d

cudaGaugeField * Xinv_d

Definition at line 46 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ Xinv_h

cpuGaugeField * Xinv_h

Definition at line 45 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ Y_d

Definition at line 46 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ Y_h

Definition at line 45 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ yD

Definition at line 43 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ ydim

int ydim

Definition at line 1616 of file test_util.cpp.

Referenced by display_test_info(), initFields(), and main().

◆ yH

Definition at line 42 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ Yhat_d

cudaGaugeField * Yhat_d

Definition at line 46 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ Yhat_h

cpuGaugeField * Yhat_h

Definition at line 45 of file multigrid_benchmark_test.cu.

Referenced by freeFields().

◆ zdim

int zdim

Definition at line 1617 of file test_util.cpp.

Referenced by display_test_info(), initFields(), and main().