1 #ifndef _QUDA_MILC_INTERFACE_H 2 #define _QUDA_MILC_INTERFACE_H 39 double boundary_phase[4];
166 const double act_path_coeff[6],
185 const double path_coeff[6],
207 const void*
const milc_fatlink,
208 const void*
const milc_longlink,
209 const double tadpole,
240 double target_residual,
241 double target_fermilab_residual,
242 const int *
const domain_overlap,
247 double*
const final_residual,
248 double*
const final_fermilab_residual,
278 double target_residual,
279 double target_fermilab_residual,
280 const void*
const milc_fatlink,
281 const void*
const milc_longlink,
282 const double tadpole,
285 double*
const final_resid,
286 double*
const final_rel_resid,
315 double target_residual,
316 double target_fermilab_residual,
319 const double tadpole,
321 void** solutionArray,
322 double*
const final_residual,
323 double*
const final_fermilab_residual,
353 int external_precision,
358 const double* target_residual,
359 const double* target_fermilab_residual,
360 const void*
const milc_fatlink,
361 const void*
const milc_longlink,
362 const double tadpole,
364 void** solutionArray,
365 double*
const final_residual,
366 double*
const final_fermilab_residual,
399 int external_precision,
403 double target_residual,
404 double target_fermilab_residual,
407 const double tadpole,
412 const int last_rhs_flag,
413 double*
const final_residual,
414 double*
const final_fermilab_residual,
444 double target_residual,
445 double target_fermilab_residual,
446 const void* milc_link,
448 void* milc_clover_inv,
451 double*
const final_residual,
452 double*
const final_fermilab_residual,
484 int external_precision,
489 double target_residual,
490 double target_fermilab_residual,
491 const void* milc_link,
493 void* milc_clover_inv,
498 const int last_rhs_flag,
499 double*
const final_residual,
500 double*
const final_fermilab_residual,
515 const void* milc_link) ;
544 void* milc_clover_inv,
589 const double* target_residual,
590 const void* milc_link,
592 void* milc_clover_inv,
594 void** solutionArray,
595 double*
const final_residual,
621 const double level2_coeff[6],
622 const double fat7_coeff[6],
623 const void*
const w_link,
624 const void*
const v_link,
625 const void*
const u_link,
626 void*
const milc_momentum);
641 double milc_loop_coeff[3],
712 double ck,
int nvec,
double multiplicity,
void *gauge,
int precision,
826 const unsigned int gauge_dir,
828 const int verbose_interval,
829 const double relax_boost,
830 const double tolerance,
831 const unsigned int reunit_interval,
832 const unsigned int stopWtheta,
850 unsigned int gauge_dir,
852 int verbose_interval,
854 unsigned int autotune,
856 unsigned int stopWtheta,
867 const double act_path_coeff[6],
868 const void*
const one_link_src[4],
869 const void*
const naik_src[4],
870 const void*
const link,
871 void*
const milc_momentum);
891 #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
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 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, const double tadpole, 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 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, const double tadpole, void **sourceArray, void **solutionArray, double *const final_residual, double *const final_fermilab_residual, int *num_iters, int num_src)
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 qudaFreePinned(void *ptr)
void qudaUpdateU(int precision, double eps, QudaMILCSiteArg_t *arg)
VOLATILE spinorFloat kappa
void qudaFreeCloverField()
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, const double tadpole, void *source, void **solutionArray, double *const final_residual, double *const final_fermilab_residual, int *num_iters)
void * qudaCreateGaugeField(void *gauge, int geometry, int precision)
static __inline__ size_t p
QudaInverterType solver_type
void qudaRephase(int prec, void *gauge, int flag, double i_mu)
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, const double tadpole, void *source, void *solution, double *const final_resid, double *const final_rel_resid, int *num_iters)
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 qudaDslash(int external_precision, int quda_precision, QudaInvertArgs_t inv_args, const void *const milc_fatlink, const void *const milc_longlink, const double tadpole, void *source, void *solution, int *num_iters)
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
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.
void qudaHisqForce(int precision, int num_terms, int num_naik_terms, 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)
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
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)