|
QUDA
1.0.0
|
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <quda.h>#include <quda_internal.h>#include <dirac_quda.h>#include <dslash_quda.h>#include <invert_quda.h>#include <util_quda.h>#include <blas_quda.h>#include <misc.h>#include <test_util.h>#include <dslash_util.h>#include <staggered_dslash_reference.h>#include <staggered_gauge_utils.h>#include "llfat_reference.h"#include <gauge_field.h>#include <unitarization_links.h>#include <qio_field.h>#include <assert.h>#include <gtest/gtest.h>
Go to the source code of this file.
Classes | |
| struct | DslashTime |
| class | StaggeredDslashTest |
Macros | |
| #define | MAX(a, b) ((a)>(b)?(a):(b)) |
| #define | staggeredSpinorSiteSize 6 |
Functions | |
| void | usage (char **argv) |
| double | getTolerance (QudaPrecision prec) |
| void | init (int precision, QudaReconstructType link_recon, int partition) |
| void | end (void) |
| DslashTime | dslashCUDA (int niter) |
| void | staggeredDslashRef () |
| void | display_test_info (int precision, QudaReconstructType link_recon) |
| void | usage_extra (char **argv) |
| TEST_P (StaggeredDslashTest, verify) | |
| TEST_P (StaggeredDslashTest, benchmark) | |
| int | main (int argc, char **argv) |
| std::string | getstaggereddslashtestname (testing::TestParamInfo<::testing::tuple< int, int, int >> param) |
| INSTANTIATE_TEST_SUITE_P (QUDA, StaggeredDslashTest, Combine(Range(0, 4), ::testing::Values(QUDA_RECONSTRUCT_NO, QUDA_RECONSTRUCT_12, QUDA_RECONSTRUCT_8), ::testing::Values(0)), getstaggereddslashtestname) | |
| #define MAX | ( | a, | |
| b | |||
| ) | ((a)>(b)?(a):(b)) |
Definition at line 36 of file staggered_dslash_ctest.cpp.
Referenced by init().
| #define staggeredSpinorSiteSize 6 |
Definition at line 37 of file staggered_dslash_ctest.cpp.
| void display_test_info | ( | int | precision, |
| QudaReconstructType | link_recon | ||
| ) |
Definition at line 533 of file staggered_dslash_ctest.cpp.
References dagger, get_prec_str(), get_recon_str(), prec, printfQuda, QUDA_DOUBLE_PRECISION, QUDA_HALF_PRECISION, QUDA_SINGLE_PRECISION, tdim, test_type, xdim, ydim, and zdim.
Referenced by StaggeredDslashTest::SetUp().


| DslashTime dslashCUDA | ( | int | niter | ) |
Definition at line 443 of file staggered_dslash_ctest.cpp.
References comm_barrier(), DslashTime::cpu_max, DslashTime::cpu_min, DslashTime::cpu_time, quda::Dirac::Dslash(), end(), errorQuda, DslashTime::event_time, quda::Dirac::M(), niter, parity, and test_type.
Referenced by TEST_P().


| void end | ( | void | ) |
Definition at line 398 of file staggered_dslash_ctest.cpp.
References commDimPartitionedReset(), cpuFat, cpuLong, cudaSpinor, cudaSpinorOut, dirac, freeGaugeQuda(), qdp_fatlink_cpu, qdp_longlink_cpu, spinor, spinorOut, spinorRef, tmp, and tmpCpu.
Referenced by dslashCUDA(), and StaggeredDslashTest::TearDown().


| std::string getstaggereddslashtestname | ( | testing::TestParamInfo<::testing::tuple< int, int, int >> | param | ) |
Definition at line 814 of file staggered_dslash_ctest.cpp.
References INSTANTIATE_TEST_SUITE_P(), param, prec, prec_str, QUDA_RECONSTRUCT_12, QUDA_RECONSTRUCT_8, and QUDA_RECONSTRUCT_NO.

| double getTolerance | ( | QudaPrecision | prec | ) |
Definition at line 108 of file staggered_dslash_ctest.cpp.
References QUDA_DOUBLE_PRECISION, QUDA_HALF_PRECISION, QUDA_INVALID_PRECISION, QUDA_QUARTER_PRECISION, and QUDA_SINGLE_PRECISION.
Referenced by TEST_P().

| void init | ( | int | precision, |
| QudaReconstructType | link_recon, | ||
| int | partition | ||
| ) |
Definition at line 120 of file staggered_dslash_ctest.cpp.
References QudaGaugeParam_s::anisotropy, applyGaugeFieldScaling_long(), argc_copy, argv_copy, checkCudaError, compute_fatlong, computeFatLongGPUandCPU(), construct_fat_long_gauge_field(), construct_gauge_field(), QudaGaugeParam_s::cpu_prec, QudaInvertParam_s::cpu_prec, quda::ColorSpinorParam::create, quda::Dirac::create(), csParam, QudaGaugeParam_s::cuda_prec, QudaInvertParam_s::cuda_prec, QudaGaugeParam_s::cuda_prec_sloppy, dagger, QudaInvertParam_s::dagger, QudaInvertParam_s::dirac_order, dslash_type, QudaInvertParam_s::dslash_type, dw_setDims(), eps_naik, errorQuda, quda::ColorSpinorParam::fieldOrder, QudaGaugeParam_s::ga_pad, QudaInvertParam_s::gamma_basis, quda::ColorSpinorParam::gammaBasis, QudaGaugeParam_s::gauge_fix, gauge_loaded, QudaGaugeParam_s::gauge_order, gaugeSiteSize, getPrecision(), quda::GaugeField::Ghost(), ghost_fatlink_cpu, ghost_longlink_cpu, quda::LatticeFieldParam::ghostExchange, gSize, QudaInvertParam_s::input_location, kappa, QudaInvertParam_s::kappa, latfile, link_recon, loadGaugeQuda(), mass, QudaInvertParam_s::mass, QudaInvertParam_s::mass_normalization, QudaInvertParam_s::matpc_type, MAX, memset(), n_naiks, quda::ColorSpinorParam::nColor, quda::LatticeFieldParam::nDim, newQudaGaugeParam(), newQudaInvertParam(), quda::ColorSpinorParam::nSpin, Nsrc, QudaInvertParam_s::output_location, quda::LatticeFieldParam::pad, prec, qdp_fatlink_cpu, qdp_inlink, qdp_longlink_cpu, QUDA_ANTI_PERIODIC_T, QUDA_ASQTAD_DSLASH, QUDA_ASQTAD_FAT_LINKS, QUDA_ASQTAD_LONG_LINKS, QUDA_CPU_FIELD_LOCATION, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, QUDA_DIRAC_ORDER, QUDA_DOUBLE_PRECISION, QUDA_EVEN_ODD_SITE_ORDER, QUDA_FLOAT2_FIELD_ORDER, QUDA_FULL_SITE_SUBSET, QUDA_GAUGE_FIXED_NO, QUDA_GHOST_EXCHANGE_PAD, QUDA_LAPLACE_DSLASH, QUDA_MASS_NORMALIZATION, QUDA_MAT_SOLUTION, QUDA_MATPC_EVEN_EVEN, QUDA_MILC_GAUGE_ORDER, QUDA_PARITY_SITE_SUBSET, QUDA_RANDOM_SOURCE, QUDA_RECONSTRUCT_12, QUDA_RECONSTRUCT_13, QUDA_RECONSTRUCT_8, QUDA_RECONSTRUCT_9, QUDA_RECONSTRUCT_NO, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER, QUDA_STAGGERED_DSLASH, QUDA_STAGGERED_PHASE_MILC, QUDA_STAGGERED_PHASE_NO, QUDA_SU3_LINKS, QUDA_SUMMARIZE, QUDA_WILSON_LINKS, QUDA_ZERO_FIELD_CREATE, read_gauge_field(), QudaGaugeParam_s::reconstruct, QudaGaugeParam_s::reconstruct_sloppy, reorderQDPtoMILC(), QudaGaugeParam_s::scale, setDims(), quda::setDiracParam(), quda::ColorSpinorParam::setPrecision(), setSpinorSiteSize(), setVerbosity(), quda::ColorSpinorParam::siteOrder, quda::LatticeFieldParam::siteSubset, QudaInvertParam_s::solution_type, quda::cpuColorSpinorField::Source(), QudaInvertParam_s::sp_pad, spinor, QudaGaugeParam_s::staggered_phase_type, QudaGaugeParam_s::t_boundary, QudaGaugeParam_s::tadpole_coeff, tdim, test_type, tmp, quda::DiracParam::tmp1, QudaGaugeParam_s::type, V, Vh, QudaGaugeParam_s::X, quda::LatticeFieldParam::x, X, xdim, ydim, and zdim.
Referenced by StaggeredDslashTest::SetUp().


| INSTANTIATE_TEST_SUITE_P | ( | QUDA | , |
| StaggeredDslashTest | , | ||
| Combine(Range(0, 4), ::testing::Values(QUDA_RECONSTRUCT_NO, QUDA_RECONSTRUCT_12, QUDA_RECONSTRUCT_8), ::testing::Values(0)) | , | ||
| getstaggereddslashtestname | |||
| ) |
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 721 of file staggered_dslash_ctest.cpp.
References argc_copy, argv_copy, compute_fatlong, dslash_type, eps_naik, errorQuda, finalizeComms(), gridsize_from_cmdline, initComms(), latfile, n_naiks, printfQuda, process_command_line_option(), qdp_fatlink_cpu_backup, qdp_inlink, qdp_inlink_backup, qdp_longlink_cpu_backup, QUDA_ASQTAD_DSLASH, QUDA_LAPLACE_DSLASH, QUDA_STAGGERED_DSLASH, test_type, usage(), and warningQuda.

| void staggeredDslashRef | ( | ) |
Definition at line 497 of file staggered_dslash_ctest.cpp.
References quda::axpy(), QudaGaugeParam_s::cpu_prec, QudaInvertParam_s::cpu_prec, dagger, dslash_type, errorQuda, quda::ColorSpinorField::Even(), ghost_fatlink_cpu, ghost_longlink_cpu, kappa, quda::ColorSpinorField::Length(), mass, matdagmat(), quda::ColorSpinorField::Odd(), parity, qdp_fatlink_cpu, qdp_longlink_cpu, QUDA_EVEN_PARITY, QUDA_LAPLACE_DSLASH, QUDA_ODD_PARITY, staggered_dslash(), test_type, quda::ColorSpinorField::V(), and quda::blas::xpay().
Referenced by TEST_P().


| TEST_P | ( | StaggeredDslashTest | , |
| verify | |||
| ) |
Definition at line 647 of file staggered_dslash_ctest.cpp.
References quda::cpuColorSpinorField::Compare(), QudaInvertParam_s::cuda_prec, cudaSpinorOut, dslashCUDA(), getTolerance(), quda::blas::norm2(), quda::pow(), printfQuda, staggeredDslashRef(), and tol.

| TEST_P | ( | StaggeredDslashTest | , |
| benchmark | |||
| ) |
Definition at line 686 of file staggered_dslash_ctest.cpp.
References DslashTime::cpu_max, DslashTime::cpu_min, DslashTime::cpu_time, cudaSpinorOut, dslashCUDA(), DslashTime::event_time, quda::blas::flops, quda::Dirac::Flops(), quda::ColorSpinorField::GhostBytes(), niter, and printfQuda.

| void usage | ( | char ** | argv | ) |
Definition at line 1783 of file test_util.cpp.
Referenced by main().

| void usage_extra | ( | char ** | argv | ) |
Definition at line 551 of file staggered_dslash_ctest.cpp.
References printfQuda.
| int argc_copy |
Definition at line 105 of file staggered_dslash_ctest.cpp.
| char** argv_copy |
Definition at line 106 of file staggered_dslash_ctest.cpp.
| bool compute_fatlong |
Definition at line 1655 of file test_util.cpp.
Referenced by init(), main(), and StaggeredDslashTest::skip().
| cpuGaugeField* cpuFat = NULL |
Definition at line 50 of file staggered_dslash_ctest.cpp.
Referenced by eigensolve_test(), end(), and invert_test().
| cpuGaugeField* cpuLong = NULL |
Definition at line 51 of file staggered_dslash_ctest.cpp.
Referenced by eigensolve_test(), end(), and invert_test().
| cudaColorSpinorField* cudaSpinor |
Definition at line 54 of file staggered_dslash_ctest.cpp.
Referenced by end().
| cudaColorSpinorField * cudaSpinorOut |
Definition at line 54 of file staggered_dslash_ctest.cpp.
| QudaDagType dagger |
Definition at line 1620 of file test_util.cpp.
Referenced by display_test_info(), init(), and staggeredDslashRef().
| int device |
Definition at line 1602 of file test_util.cpp.
Referenced by StaggeredDslashTest::SetUpTestCase().
| Dirac* dirac |
Definition at line 99 of file staggered_dslash_ctest.cpp.
Referenced by end().
| QudaDslashType dslash_type |
Definition at line 1621 of file test_util.cpp.
Referenced by init(), main(), StaggeredDslashTest::skip(), and staggeredDslashRef().
| double eps_naik |
Definition at line 1652 of file test_util.cpp.
| bool gauge_loaded = false |
Definition at line 44 of file staggered_dslash_ctest.cpp.
Referenced by init().
| QudaGaugeParam gauge_param |
Definition at line 47 of file staggered_dslash_ctest.cpp.
| void** ghost_fatlink_cpu |
Definition at line 60 of file staggered_dslash_ctest.cpp.
Referenced by init(), and staggeredDslashRef().
| void ** ghost_longlink_cpu |
Definition at line 60 of file staggered_dslash_ctest.cpp.
Referenced by init(), and staggeredDslashRef().
| bool global_skip = true |
Definition at line 72 of file staggered_dslash_ctest.cpp.
| 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().
| QudaInvertParam inv_param |
Definition at line 48 of file staggered_dslash_ctest.cpp.
| double kappa |
Definition at line 1647 of file test_util.cpp.
Referenced by init(), and staggeredDslashRef().
| char latfile[] |
Definition at line 1623 of file test_util.cpp.
| double mass |
Definition at line 1646 of file test_util.cpp.
Referenced by init(), and staggeredDslashRef().
|
static |
Definition at line 92 of file staggered_dslash_ctest.cpp.
| int niter |
Definition at line 1629 of file test_util.cpp.
Referenced by dslashCUDA(), and TEST_P().
| int Nsrc |
Definition at line 1627 of file test_util.cpp.
Referenced by init().
| QudaParity parity = QUDA_EVEN_PARITY |
Definition at line 75 of file staggered_dslash_ctest.cpp.
Referenced by dslashCUDA(), and staggeredDslashRef().
| const char* prec_str[] = {"quarter", "half", "single", "double"} |
Definition at line 101 of file staggered_dslash_ctest.cpp.
Referenced by getstaggereddslashtestname().
| void* qdp_fatlink_cpu[4] |
Definition at line 59 of file staggered_dslash_ctest.cpp.
Referenced by end(), init(), StaggeredDslashTest::SetUp(), and staggeredDslashRef().
| void* qdp_fatlink_cpu_backup[1][4] |
Definition at line 68 of file staggered_dslash_ctest.cpp.
Referenced by main().
| void* qdp_inlink[4] = { nullptr, nullptr, nullptr, nullptr } |
Definition at line 45 of file staggered_dslash_ctest.cpp.
Referenced by eigensolve_test(), init(), invert_test(), and main().
| void* qdp_inlink_backup[1][4] |
Definition at line 70 of file staggered_dslash_ctest.cpp.
Referenced by main().
| void * qdp_longlink_cpu[4] |
Definition at line 59 of file staggered_dslash_ctest.cpp.
Referenced by end(), init(), StaggeredDslashTest::SetUp(), and staggeredDslashRef().
| void* qdp_longlink_cpu_backup[1][4] |
Definition at line 69 of file staggered_dslash_ctest.cpp.
Referenced by main().
| const char* recon_str[] = {"r18", "r13", "r9"} |
Definition at line 102 of file staggered_dslash_ctest.cpp.
| cpuColorSpinorField* spinor |
Definition at line 53 of file staggered_dslash_ctest.cpp.
| cpuColorSpinorField * spinorOut |
Definition at line 53 of file staggered_dslash_ctest.cpp.
Referenced by end().
| cpuColorSpinorField * spinorRef |
Definition at line 53 of file staggered_dslash_ctest.cpp.
Referenced by end().
| int tdim |
Definition at line 1618 of file test_util.cpp.
Referenced by display_test_info(), and init().
| int test_type |
Definition at line 1636 of file test_util.cpp.
Referenced by display_test_info(), dslashCUDA(), init(), main(), and staggeredDslashRef().
| cudaColorSpinorField* tmp |
Definition at line 56 of file staggered_dslash_ctest.cpp.
| cpuColorSpinorField * tmpCpu |
Definition at line 53 of file staggered_dslash_ctest.cpp.
Referenced by end().
| bool verify_results |
Definition at line 1643 of file test_util.cpp.
| int X[4] |
Definition at line 96 of file staggered_dslash_ctest.cpp.
Referenced by init().
| int xdim |
Definition at line 1615 of file test_util.cpp.
Referenced by display_test_info(), and init().
| int ydim |
Definition at line 1616 of file test_util.cpp.
Referenced by display_test_info(), and init().
| int zdim |
Definition at line 1617 of file test_util.cpp.
Referenced by display_test_info(), and init().
1.8.13