QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Macros | Functions | Variables
unitarize_link_test.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#include <cuda.h>
#include <cuda_runtime.h>
#include "quda.h"
#include "gauge_field.h"
#include "test_util.h"
#include "llfat_reference.h"
#include "misc.h"
#include "util_quda.h"
#include "llfat_quda.h"
#include <unitarization_links.h>
#include "dslash_quda.h"
#include "ks_improved_force.h"
#include <gtest/gtest.h>
Include dependency graph for unitarize_link_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)
 
 TEST (unitarization, verify)
 
static int unitarize_link_test (int &test_rc)
 
static void display_test_info ()
 
int main (int argc, char **argv)
 

Variables

int device
 
static double unitarize_eps = 1e-6
 
static bool reunit_allow_svd = true
 
static bool reunit_svd_only = false
 
static double svd_rel_error = 1e-4
 
static double svd_abs_error = 1e-4
 
static double max_allowed_error = 1e-11
 
int xdim
 
int ydim
 
int zdim
 
int tdim
 
int gridsize_from_cmdline []
 
bool verify_results
 
QudaReconstructType link_recon
 
QudaPrecision prec
 
static QudaPrecision cpu_prec = QUDA_DOUBLE_PRECISION
 
static QudaGaugeFieldOrder gauge_order = QUDA_MILC_GAUGE_ORDER
 
cpuGaugeFieldcpuFatLink
 
cpuGaugeFieldcpuULink
 
cpuGaugeFieldcudaResult
 
cudaGaugeFieldcudaFatLink
 
cudaGaugeFieldcudaULink
 
const double tol = (prec == QUDA_DOUBLE_PRECISION) ? 1e-10 : 1e-6
 

Macro Definition Documentation

◆ TDIFF

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

Definition at line 27 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

Function Documentation

◆ display_test_info()

static void display_test_info ( )
static

Definition at line 233 of file unitarize_link_test.cpp.

References dimPartitioned(), get_prec_str(), get_recon_str(), get_unitarization_str(), link_recon, max_allowed_error, prec, printfQuda, reunit_svd_only, tdim, tol, 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 
)

◆ TEST()

TEST ( unitarization  ,
verify   
)

◆ unitarize_link_test()

static int unitarize_link_test ( int &  test_rc)
static

Definition at line 73 of file unitarize_link_test.cpp.

References QudaGaugeParam_s::anisotropy, computeKSLinkQuda(), QudaGaugeParam_s::cpu_prec, cpu_prec, cpuFatLink, cpuULink, quda::GaugeFieldParam::create, createSiteLinkCPU(), QudaGaugeParam_s::cuda_prec, QudaGaugeParam_s::cuda_prec_sloppy, cudaFatLink, cudaResult, cudaULink, device, endQuda(), errorQuda, exchange_llfat_cleanup(), fatlink, QudaGaugeParam_s::ga_pad, quda::GaugeFieldParam::gauge, QudaGaugeParam_s::gauge_fix, QudaGaugeParam_s::gauge_order, gauge_order, gaugeSiteSize, quda::LatticeFieldParam::ghostExchange, gParam, host_free, initQuda(), link_recon, quda::GaugeFieldParam::link_type, QudaGaugeParam_s::llfat_ga_pad, quda::cudaGaugeField::loadCPUField(), mapped_malloc, max_allowed_error, newQudaGaugeParam(), num_failures, num_failures_d, num_failures_h, quda::GaugeFieldParam::order, quda::LatticeFieldParam::pad, prec, printfQuda, QUDA_DOUBLE_PRECISION, QUDA_GAUGE_FIXED_NO, QUDA_GENERAL_LINKS, QUDA_GHOST_EXCHANGE_NO, QUDA_MILC_GAUGE_ORDER, QUDA_NULL_FIELD_CREATE, QUDA_PERIODIC_T, QUDA_RECONSTRUCT_NO, QUDA_REFERENCE_FIELD_CREATE, QUDA_SINGLE_PRECISION, QUDA_WILSON_LINKS, QUDA_ZERO_FIELD_CREATE, qudaGaugeParam, quda::GaugeFieldParam::reconstruct, QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_sloppy, reunit_allow_svd, reunit_svd_only, setDims(), quda::GaugeFieldParam::setPrecision(), quda::setUnitarizeLinksConstants(), QudaGaugeParam_s::site_ga_pad, QudaGaugeParam_s::staple_pad, svd_abs_error, svd_rel_error, QudaGaugeParam_s::t_boundary, TDIFF, tdim, QudaGaugeParam_s::type, unitarize_eps, quda::unitarizeLinks(), V, verify_results, warningQuda, QudaGaugeParam_s::X, xdim, ydim, and zdim.

Referenced by main().

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

◆ usage()

void usage ( char **  argv)

Definition at line 1783 of file test_util.cpp.

References usage_extra().

Referenced by main(), and process_command_line_option().

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

Variable Documentation

◆ cpu_prec

Definition at line 50 of file unitarize_link_test.cpp.

Referenced by TEST(), and unitarize_link_test().

◆ cpuFatLink

cpuGaugeField* cpuFatLink

Definition at line 53 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ cpuULink

cpuGaugeField * cpuULink

Definition at line 53 of file unitarize_link_test.cpp.

Referenced by computeHISQForceQuda(), and unitarize_link_test().

◆ cudaFatLink

cudaGaugeField* cudaFatLink

Definition at line 54 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ cudaResult

cpuGaugeField * cudaResult

Definition at line 53 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ cudaULink

cudaGaugeField * cudaULink

Definition at line 54 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ device

int device

◆ gauge_order

Definition at line 51 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ 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 dimPartitioned(), lex_rank_from_coords_t(), lex_rank_from_coords_x(), main(), and process_command_line_option().

◆ link_recon

QudaReconstructType link_recon

◆ max_allowed_error

double max_allowed_error = 1e-11
static

Definition at line 41 of file unitarize_link_test.cpp.

Referenced by display_test_info(), and unitarize_link_test().

◆ prec

◆ reunit_allow_svd

bool reunit_allow_svd = true
static

Definition at line 37 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ reunit_svd_only

bool reunit_svd_only = false
static

Definition at line 38 of file unitarize_link_test.cpp.

Referenced by display_test_info(), and unitarize_link_test().

◆ svd_abs_error

double svd_abs_error = 1e-4
static

Definition at line 40 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ svd_rel_error

double svd_rel_error = 1e-4
static

Definition at line 39 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ tdim

int tdim

◆ tol

const double tol = (prec == QUDA_DOUBLE_PRECISION) ? 1e-10 : 1e-6

◆ unitarize_eps

double unitarize_eps = 1e-6
static

Definition at line 36 of file unitarize_link_test.cpp.

Referenced by unitarize_link_test().

◆ verify_results

bool verify_results

Definition at line 1643 of file test_util.cpp.

Referenced by process_command_line_option(), and unitarize_link_test().

◆ xdim

int xdim

◆ ydim

int ydim

◆ zdim

int zdim