7 static int dslashTest()
15 for (
int i = 0; i < attempts; i++) {
31 ASSERT_LE(deviation,
tol) <<
"CPU and CUDA implementations do not agree";
37 printfQuda(
"prec recon test_type dagger S_dim T_dimension\n");
45 int main(
int argc,
char **argv)
59 app->parse(argc, argv);
60 }
catch (
const CLI::ParseError &e) {
85 errorQuda(
"Cannot load a gauge field and test the ASQTAD/HISQ operator without setting \"--compute-fat-long true\".\n");
93 printfQuda(
"Note: epsilon-naik != 0, testing epsilon correction links.\n");
96 printfQuda(
"Not computing fat-long, ignoring epsilon correction.\n");
99 printfQuda(
"Note: epsilon-naik = 0, testing original HISQ links.\n");
105 errorQuda(
"Test type %s is not supported for the Laplace operator.\n",
119 int test_rc = dslashTest();
TestEventListener * Release(TestEventListener *listener)
TestEventListener * default_result_printer() const
TestEventListeners & listeners()
static UnitTest * GetInstance()
std::shared_ptr< QUDAApp > make_app(std::string app_description, std::string app_name)
QudaReconstructType link_recon
QudaDslashType dslash_type
void add_comms_option_group(std::shared_ptr< QUDAApp > quda_app)
std::array< int, 4 > gridsize_from_cmdline
std::string get_string(CLI::TransformPairs< T > &map, T val)
CLI::TransformPairs< dslash_test_type > dtest_type_map
#define ASSERT_LE(val1, val2)
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
int dimPartitioned(int dim)
void initComms(int argc, char **argv, std::array< int, 4 > &commDims)
double getTolerance(QudaPrecision prec)
const char * get_prec_str(QudaPrecision prec)
const char * get_dslash_str(QudaDslashType type)
const char * get_recon_str(QudaReconstructType recon)
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
void initQuda(int device)
void updateR()
update the radius for halos.
int main(int argc, char **argv)
StaggeredDslashTestWrapper dslash_test_wrapper
dslash_test_type dtest_type
void run_test(int niter, bool print_metrics=false)
void staggeredDslashRef()