16 #if defined(QMP_COMMS) 18 #elif defined(MPI_COMMS) 66 extern void usage(
char** );
96 printfQuda(
"prec sloppy_prec link_recon sloppy_link_recon S_dimension T_dimension Ls_dimension\n");
154 int pad_size =std::max(x_face_size, y_face_size);
155 pad_size = std::max(pad_size, z_face_size);
156 pad_size = std::max(pad_size, t_face_size);
202 printfQuda(
"Twisted-mass doublet non supported (yet)\n");
294 int main(
int argc,
char **argv)
297 for (
int i = 1;
i < argc;
i++){
301 printf(
"ERROR: Invalid option:%s\n", argv[
i]);
349 void *gauge[4], *
clover=0, *clover_inv=0;
351 for (
int dir = 0; dir < 4; dir++) {
424 time0 /= CLOCKS_PER_SEC;
426 printfQuda(
"Device memory used:\n Spinor: %f GiB\n Gauge: %f GiB\n",
431 printfQuda(
"\nDone: %i iter / %g secs = %g Gflops, total time = %g secs\n",
479 double l2r =
sqrt(nrm2 / src2);
481 printfQuda(
"Residuals: (L2 relative) tol %g, QUDA = %g, host = %g; (heavy-quark) tol %g, QUDA = %g\n",
496 if (clover_inv)
free(clover_inv);
499 for (
int dir = 0; dir<4; dir++)
free(gauge[dir]);
QudaReconstructType link_recon
int dimPartitioned(int dim)
QudaDiracFieldOrder dirac_order
QudaMassNormalization mass_normalization
double tol_hq_offset[QUDA_MAX_MULTI_SHIFT]
QudaReconstructType reconstruct_sloppy
void freeCloverQuda(void)
void construct_gauge_field(void **gauge, int type, QudaPrecision precision, QudaGaugeParam *param)
QudaVerbosity verbosity_precondition
enum QudaPrecision_s QudaPrecision
void destroyDeflationQuda(void *df_instance)
QudaExtLibType extlib_type
QudaSchwarzType schwarz_type
__host__ __device__ ValueType norm(const complex< ValueType > &z)
Returns the magnitude of z squared.
void tm_mat(void *out, void **gauge, void *in, double kappa, double mu, QudaTwistFlavorType flavor, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param)
enum QudaResidualType_s QudaResidualType
QudaInverterType inv_type_precondition
QudaDslashType dslash_type
QudaPrecision cuda_prec_ritz
void invertQuda(void *h_x, void *h_b, QudaInvertParam *param)
QudaDslashType dslash_type
QudaReconstructType reconstruct_precondition
QudaInverterType inv_type
int return_clover_inverse
void setGaugeParam(QudaGaugeParam &gauge_param)
enum QudaSolveType_s QudaSolveType
void loadGaugeQuda(void *h_gauge, QudaGaugeParam *param)
QudaExtLibType deflation_ext_lib
void setDeflationParam(QudaEigParam &df_param)
int process_command_line_option(int argc, char **argv, int *idx)
char * strcpy(char *__dst, const char *__src)
void ax(const double &a, ColorSpinorField &x)
QudaGaugeParam gauge_param
QudaGaugeFieldOrder gauge_order
void tm_matpc(void *outEven, void **gauge, void *inEven, double kappa, double mu, QudaTwistFlavorType flavor, QudaMatPCType matpc_type, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param)
const char * get_prec_str(QudaPrecision prec)
void loadCloverQuda(void *h_clover, void *h_clovinv, QudaInvertParam *inv_param)
QudaPrecision & cuda_prec_precondition
void exit(int) __attribute__((noreturn))
QudaPrecision clover_cuda_prec_sloppy
QudaFieldLocation input_location
QudaInverterType inv_type
QudaPrecision prec_sloppy
void setInvertParam(QudaInvertParam &inv_param)
QudaSolutionType solution_type
else return(__swbuf(_c, _p))
QudaPrecision & cuda_prec_ritz
QudaMemoryType mem_type_ritz
int strcmp(const char *__s1, const char *__s2)
QudaPrecision clover_cuda_prec
QudaInvertParam * invert_param
void initQuda(int device)
QudaFieldLocation output_location
void * malloc(size_t __size) __attribute__((__warn_unused_result__)) __attribute__((alloc_size(1)))
QudaPrecision clover_cuda_prec_precondition
QudaInvertParam inv_param
int printf(const char *,...) __attribute__((__format__(__printf__
QudaPrecision & cuda_prec_sloppy
void setTransferGPU(bool)
void * newDeflationQuda(QudaEigParam *param)
QudaPrecision cuda_prec_sloppy
void setSpinorSiteSize(int n)
double tol_offset[QUDA_MAX_MULTI_SHIFT]
QudaInvertParam newQudaInvertParam(void)
const char * get_recon_str(QudaReconstructType recon)
QudaPrecision cuda_prec_precondition
QudaCloverFieldOrder clover_order
enum QudaMatPCType_s QudaMatPCType
cpuColorSpinorField * spinorOut
int main(int argc, char **argv)
QudaGammaBasis gamma_basis
QudaPrecision cuda_prec_sloppy
QudaReconstructType link_recon_precondition
QudaReconstructType reconstruct
QudaBoolean import_vectors
QudaExtLibType solver_ext_lib
QudaFieldLocation location
double norm_2(void *v, int len, QudaPrecision precision)
int rand(void) __attribute__((__availability__(swift
int compute_clover_inverse
QudaPrecision prec_precondition
void construct_clover_field(void *clover, double norm, double diag, QudaPrecision precision)
void * memset(void *__b, int __c, size_t __len)
QudaPrecision & cuda_prec
enum QudaFieldLocation_s QudaFieldLocation
void wil_mat(void *out, void **gauge, void *in, double kappa, int dagger_bit, QudaPrecision precision, QudaGaugeParam &gauge_param)
QudaPrecision cuda_prec_precondition
enum QudaReconstructType_s QudaReconstructType
Main header file for the QUDA library.
QudaExtLibType extlib_type
QudaMemoryType mem_type_ritz
QudaInverterType precon_type
QudaTwistFlavorType twist_flavor
enum QudaDslashType_s QudaDslashType
QudaTwistFlavorType twist_flavor
QudaFieldLocation location_ritz
void mxpy(ColorSpinorField &x, ColorSpinorField &y)
QudaResidualType residual_type
int gridsize_from_cmdline[]
void wil_matpc(void *outEven, void **gauge, void *inEven, double kappa, QudaMatPCType matpc_type, int daggerBit, QudaPrecision precision, QudaGaugeParam &gauge_param)
clock_t clock(void) __asm("_" "clock")
void read_gauge_field(const char *filename, void *gauge[], QudaPrecision prec, const int *X, int argc, char *argv[])
QudaPrecision clover_cpu_prec
QudaPrecision cuda_prec_ritz
void initComms(int argc, char **argv, const int *commDims)
QudaEigParam newQudaEigParam(void)
enum QudaInverterType_s QudaInverterType
enum QudaMemoryType_s QudaMemoryType
enum QudaExtLibType_s QudaExtLibType
QudaGaugeParam newQudaGaugeParam(void)
QudaPreserveSource preserve_source
enum QudaTwistFlavorType_s QudaTwistFlavorType
QudaReconstructType link_recon_sloppy