QUDA
1.0.0
|
#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>
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 |
cpuGaugeField * | cpuFatLink |
cpuGaugeField * | cpuULink |
cpuGaugeField * | cudaResult |
cudaGaugeField * | cudaFatLink |
cudaGaugeField * | cudaULink |
const double | tol = (prec == QUDA_DOUBLE_PRECISION) ? 1e-10 : 1e-6 |
#define TDIFF | ( | a, | |
b | |||
) | (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().
|
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().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 260 of file unitarize_link_test.cpp.
References comm_allreduce_int(), comm_size(), display_test_info(), finalizeComms(), gridsize_from_cmdline, initComms(), link_recon, num_failures, printfQuda, process_command_line_option(), QUDA_RECONSTRUCT_NO, tdim, unitarize_link_test(), usage(), V, xdim, ydim, and zdim.
TEST | ( | unitarization | , |
verify | |||
) |
Definition at line 58 of file unitarize_link_test.cpp.
References comm_allreduce_int(), comm_size(), compare_floats(), cpu_prec, quda::cpuGaugeField::Gauge_p(), gaugeSiteSize, quda::cudaGaugeField::saveCPUField(), tol, quda::unitarizeLinksCPU(), and quda::LatticeField::Volume().
|
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().
void usage | ( | char ** | argv | ) |
Definition at line 1783 of file test_util.cpp.
References usage_extra().
Referenced by main(), and process_command_line_option().
|
static |
Definition at line 50 of file unitarize_link_test.cpp.
Referenced by TEST(), and unitarize_link_test().
cpuGaugeField* cpuFatLink |
Definition at line 53 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
cpuGaugeField * cpuULink |
Definition at line 53 of file unitarize_link_test.cpp.
Referenced by computeHISQForceQuda(), and unitarize_link_test().
cudaGaugeField* cudaFatLink |
Definition at line 54 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
cpuGaugeField * cudaResult |
Definition at line 53 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
cudaGaugeField * cudaULink |
Definition at line 54 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
int device |
Definition at line 1602 of file test_util.cpp.
Referenced by process_command_line_option(), strong_check_mom(), and unitarize_link_test().
|
static |
Definition at line 51 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
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().
QudaReconstructType link_recon |
Definition at line 1605 of file test_util.cpp.
Referenced by display_test_info(), main(), process_command_line_option(), and unitarize_link_test().
|
static |
Definition at line 41 of file unitarize_link_test.cpp.
Referenced by display_test_info(), and unitarize_link_test().
QudaPrecision prec |
Definition at line 1608 of file test_util.cpp.
Referenced by display_test_info(), process_command_line_option(), and unitarize_link_test().
|
static |
Definition at line 37 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
|
static |
Definition at line 38 of file unitarize_link_test.cpp.
Referenced by display_test_info(), and unitarize_link_test().
|
static |
Definition at line 40 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
|
static |
Definition at line 39 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
int tdim |
Definition at line 1618 of file test_util.cpp.
Referenced by display_test_info(), main(), process_command_line_option(), and unitarize_link_test().
const double tol = (prec == QUDA_DOUBLE_PRECISION) ? 1e-10 : 1e-6 |
Definition at line 56 of file unitarize_link_test.cpp.
Referenced by quda::checkUnitary(), quda::compareSpinor(), contraction_reference(), display_test_info(), quda::genericCompare(), invert_test(), main(), printQudaEigParam(), printQudaInvertParam(), quda::projectSU3(), set_params(), setInvertParam(), quda::Solver::stopping(), TEST(), TEST_P(), and quda::MG::verify().
|
static |
Definition at line 36 of file unitarize_link_test.cpp.
Referenced by unitarize_link_test().
bool verify_results |
Definition at line 1643 of file test_util.cpp.
Referenced by process_command_line_option(), and unitarize_link_test().
int xdim |
Definition at line 1615 of file test_util.cpp.
Referenced by display_test_info(), main(), process_command_line_option(), and unitarize_link_test().
int ydim |
Definition at line 1616 of file test_util.cpp.
Referenced by display_test_info(), main(), process_command_line_option(), and unitarize_link_test().
int zdim |
Definition at line 1617 of file test_util.cpp.
Referenced by display_test_info(), main(), process_command_line_option(), and unitarize_link_test().