1 #ifndef _QUDA_MILC_INTERFACE_H 2 #define _QUDA_MILC_INTERFACE_H 39 double boundary_phase[4];
177 const double act_path_coeff[6],
196 const double path_coeff[6],
217 const void*
const milc_fatlink,
218 const void*
const milc_longlink,
249 double target_residual,
250 double target_fermilab_residual,
251 const int *
const domain_overlap,
256 double*
const final_residual,
257 double*
const final_fermilab_residual,
286 double target_residual,
287 double target_fermilab_residual,
288 const void*
const milc_fatlink,
289 const void*
const milc_longlink,
292 double*
const final_resid,
293 double*
const final_rel_resid,
321 double target_residual,
322 double target_fermilab_residual,
326 void** solutionArray,
327 double*
const final_residual,
328 double*
const final_fermilab_residual,
357 int external_precision,
360 double*
const offset,
362 const double* target_residual,
363 const double* target_fermilab_residual,
364 const void*
const milc_fatlink,
365 const void*
const milc_longlink,
367 void** solutionArray,
368 double*
const final_residual,
369 double*
const final_fermilab_residual,
401 int external_precision,
405 double target_residual,
406 double target_fermilab_residual,
413 const int last_rhs_flag,
414 double*
const final_residual,
415 double*
const final_fermilab_residual,
445 double target_residual,
446 double target_fermilab_residual,
447 const void* milc_link,
449 void* milc_clover_inv,
452 double*
const final_residual,
453 double*
const final_fermilab_residual,
485 int external_precision,
490 double target_residual,
491 double target_fermilab_residual,
492 const void* milc_link,
494 void* milc_clover_inv,
499 const int last_rhs_flag,
500 double*
const final_residual,
501 double*
const final_fermilab_residual,
516 const void* milc_link) ;
545 void* milc_clover_inv,
586 double*
const offset,
590 const double* target_residual,
591 const void* milc_link,
593 void* milc_clover_inv,
595 void** solutionArray,
596 double*
const final_residual,
624 const double level2_coeff[6],
625 const double fat7_coeff[6],
626 const void*
const w_link,
627 const void*
const v_link,
628 const void*
const u_link,
629 void*
const milc_momentum);
644 double milc_loop_coeff[3],
715 double ck,
int nvec,
double multiplicity,
void *gauge,
int precision,
829 const unsigned int gauge_dir,
831 const int verbose_interval,
832 const double relax_boost,
833 const double tolerance,
834 const unsigned int reunit_interval,
835 const unsigned int stopWtheta,
853 unsigned int gauge_dir,
855 int verbose_interval,
857 unsigned int autotune,
859 unsigned int stopWtheta,
870 const double act_path_coeff[6],
871 const void*
const one_link_src[4],
872 const void*
const naik_src[4],
873 const void*
const link,
874 void*
const milc_momentum);
893 #endif // _QUDA_MILC_INTERFACE_H
int use_resident_solution
void qudaHisqParamsInit(QudaHisqParams_t hisq_params)
void qudaDDInvert(int external_precision, int quda_precision, double mass, QudaInvertArgs_t inv_args, double target_residual, double target_fermilab_residual, const int *const domain_overlap, const void *const fatlink, const void *const longlink, void *source, void *solution, double *const final_residual, double *const final_fermilab_residual, int *num_iters)
enum QudaPrecision_s QudaPrecision
void qudaUnitarizeSU3(int prec, double tol, QudaMILCSiteArg_t *arg)
void * qudaCreateExtendedGaugeField(void *gauge, int geometry, int precision)
void qudaGaugeFixingFFT(int precision, unsigned int gauge_dir, int Nsteps, int verbose_interval, double alpha, unsigned int autotune, double tolerance, unsigned int stopWtheta, void *milc_sitelink)
Gauge fixing with Steepest descent method with FFTs with support for single GPU only.
QudaExtLibType deflation_ext_lib
void qudaDslash(int external_precision, int quda_precision, QudaInvertArgs_t inv_args, const void *const milc_fatlink, const void *const milc_longlink, void *source, void *solution, int *num_iters)
enum QudaSolveType_s QudaSolveType
void qudaInit(QudaInitArgs_t input)
double reunit_svd_rel_error
QudaMemoryType mem_type_ritz
void qudaLoadGaugeField(int external_precision, int quda_precision, QudaInvertArgs_t inv_args, const void *milc_link)
void qudaInvert(int external_precision, int quda_precision, double mass, QudaInvertArgs_t inv_args, double target_residual, double target_fermilab_residual, const void *const milc_fatlink, const void *const milc_longlink, void *source, void *solution, double *const final_resid, double *const final_rel_resid, int *num_iters)
void qudaEigCGInvert(int external_precision, int quda_precision, double mass, QudaInvertArgs_t inv_args, double target_residual, double target_fermilab_residual, const void *const fatlink, const void *const longlink, void *source, void *solution, QudaEigArgs_t eig_args, const int rhs_idx, const int last_rhs_flag, double *const final_residual, double *const final_fermilab_residual, int *num_iters)
int make_resident_solution
void qudaCloverMultishiftInvert(int external_precision, int quda_precision, int num_offsets, double *const offset, double kappa, double clover_coeff, QudaInvertArgs_t inv_args, const double *target_residual, const void *milc_link, void *milc_clover, void *milc_clover_inv, void *source, void **solutionArray, double *const final_residual, int *num_iters)
void qudaEigCGCloverInvert(int external_precision, int quda_precision, double kappa, double clover_coeff, QudaInvertArgs_t inv_args, double target_residual, double target_fermilab_residual, const void *milc_link, void *milc_clover, void *milc_clover_inv, void *source, void *solution, QudaEigArgs_t eig_args, const int rhs_idx, const int last_rhs_flag, double *const final_residual, double *const final_fermilab_residual, int *num_iters)
void qudaGaugeFixingOVR(const int precision, const unsigned int gauge_dir, const int Nsteps, const int verbose_interval, const double relax_boost, const double tolerance, const unsigned int reunit_interval, const unsigned int stopWtheta, void *milc_sitelink)
Gauge fixing with overrelaxation with support for single and multi GPU.
void qudaSaveGaugeField(void *gauge, void *inGauge)
double qudaMomAction(int precision, void *momentum)
void qudaSetLayout(QudaLayout_t layout)
void qudaHisqForce(int precision, int num_terms, int num_naik_terms, double dt, double **coeff, void **quark_field, const double level2_coeff[6], const double fat7_coeff[6], const void *const w_link, const void *const v_link, const void *const u_link, void *const milc_momentum)
QudaSolutionType solution_type
void qudaFreePinned(void *ptr)
void qudaUpdateU(int precision, double eps, QudaMILCSiteArg_t *arg)
void qudaFreeCloverField()
void qudaInvertMsrc(int external_precision, int quda_precision, double mass, QudaInvertArgs_t inv_args, double target_residual, double target_fermilab_residual, const void *const fatlink, const void *const longlink, void **sourceArray, void **solutionArray, double *const final_residual, double *const final_fermilab_residual, int *num_iters, int num_src)
int nvec[QUDA_MAX_MG_LEVEL]
void * qudaCreateGaugeField(void *gauge, int geometry, int precision)
QudaInverterType solver_type
void qudaRephase(int prec, void *gauge, int flag, double i_mu)
enum QudaSolutionType_s QudaSolutionType
void qudaComputeOprod(int precision, int num_terms, int num_naik_terms, double **coeff, double scale, void **quark_field, void *oprod[3])
double reunit_svd_abs_error
void qudaFreeGaugeField()
enum QudaParity_s QudaParity
void qudaLoadCloverField(int external_precision, int quda_precision, QudaInvertArgs_t inv_args, void *milc_clover, void *milc_clover_inv, QudaSolutionType solution_type, QudaSolveType solve_type, double clover_coeff, int compute_trlog, double *trlog)
QudaFieldLocation location_ritz
void qudaCloverInvert(int external_precision, int quda_precision, double kappa, double clover_coeff, QudaInvertArgs_t inv_args, double target_residual, double target_fermilab_residual, const void *milc_link, void *milc_clover, void *milc_clover_inv, void *source, void *solution, double *const final_residual, double *const final_fermilab_residual, int *num_iters)
void qudaCloverDerivative(void *out, void *gauge, void *oprod, int mu, int nu, double coeff, int precision, int parity, int conjugate)
void qudaLoadUnitarizedLink(int precision, QudaFatLinkArgs_t fatlink_args, const double path_coeff[6], void *inlink, void *fatlink, void *ulink)
enum QudaFieldLocation_s QudaFieldLocation
cpuColorSpinorField * out
void qudaSetMPICommHandle(void *mycomm)
Main header file for the QUDA library.
void * qudaResidentExtendedGaugeField(void *gauge, int geometry, int precision)
void qudaCloverTrace(void *out, void *dummy, int mu, int nu)
void qudaCloverForce(void *mom, double dt, void **x, void **p, double *coeff, double kappa, double ck, int nvec, double multiplicity, void *gauge, int precision, QudaInvertArgs_t inv_args)
void * qudaAllocatePinned(size_t bytes)
__host__ __device__ ValueType arg(const complex< ValueType > &z)
Returns the phase angle of z.
enum QudaVerbosity_s QudaVerbosity
void qudaLoadKSLink(int precision, QudaFatLinkArgs_t fatlink_args, const double act_path_coeff[6], void *inlink, void *fatlink, void *longlink)
QudaExtLibType solver_ext_lib
void qudaGaugeForce(int precision, int num_loop_types, double milc_loop_coeff[3], double eb3, QudaMILCSiteArg_t *arg)
enum QudaInverterType_s QudaInverterType
void qudaMultishiftInvert(int external_precision, int precision, int num_offsets, double *const offset, QudaInvertArgs_t inv_args, const double *target_residual, const double *target_fermilab_residual, const void *const milc_fatlink, const void *const milc_longlink, void *source, void **solutionArray, double *const final_residual, double *const final_fermilab_residual, int *num_iters)
enum QudaMemoryType_s QudaMemoryType
void qudaAsqtadForce(int precision, const double act_path_coeff[6], const void *const one_link_src[4], const void *const naik_src[4], const void *const link, void *const milc_momentum)
enum QudaExtLibType_s QudaExtLibType
void qudaDestroyGaugeField(void *gauge)