QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
quda_fortran.h
Go to the documentation of this file.
1 #ifndef _QUDA_FORTRAN_H
2 #define _QUDA_FORTRAN_H
3 
14 #include <quda_constants.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
30  void init_quda_device_(int *device);
31 
38  void init_quda_memory_();
39 
49  void init_quda_(int *device);
50 
54  void end_quda_(void);
55 
62  void comm_set_gridsize_(int *grid);
63 
69 
75 
81  void load_gauge_quda_(void *h_gauge, QudaGaugeParam *param);
82 
86  void free_gauge_quda_(void);
87 
91  void free_sloppy_gauge_quda_(void);
92 
100  void load_clover_quda_(void *h_clover, void *h_clovinv,
102 
106  void free_clover_quda_(void);
107 
116  void dslash_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param,
117  QudaParity *parity);
118 
128  void clover_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param,
129  QudaParity *parity, int *inverse);
130 
138  void mat_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param);
139 
147  void mat_dag_mat_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param);
148 
158  void invert_quda_(void *h_x, void *h_b, QudaInvertParam *param);
159 
160  void invert_md_quda_(void *hp_x, void *hp_b, QudaInvertParam *param);
161 
169  void invert_multi_shift_quda_(void *_hp_x[QUDA_MAX_MULTI_SHIFT], void *_hp_b, QudaInvertParam *param);
170 
171 
183  void update_gauge_field_quda_(void* gauge, void* momentum, double *dt,
184  bool *conj_mom, bool *exact, QudaGaugeParam* param);
185 
186  void compute_staggered_force_quda_(void* cudaMom, void* qudaQuark, double *coeff);
187 
201  int compute_gauge_force_quda_(void *mom, void *gauge, int *input_path_buf, int *path_length,
202  double *loop_coeff, int *num_paths, int *max_length, double *dt,
203  QudaGaugeParam *qudaGaugeParam);
204 
209 
214 
218  void set_kernel_pack_t_(int *pack);
219 
220 #ifdef __cplusplus
221 }
222 #endif
223 
224 #endif /* _QUDA_FORTRAN_H */
void apply_staggered_phase_quda_()
void clover_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param, QudaParity *parity, int *inverse)
void set_kernel_pack_t_(int *pack)
void new_quda_invert_param_(QudaInvertParam *param)
#define QUDA_MAX_MULTI_SHIFT
Maximum number of shifts supported by the multi-shift solver. This number may be changed if need be...
void load_clover_quda_(void *h_clover, void *h_clovinv, QudaInvertParam *inv_param)
void dslash_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param, QudaParity *parity)
void init_quda_(int *device)
void invert_md_quda_(void *hp_x, void *hp_b, QudaInvertParam *param)
void new_quda_gauge_param_(QudaGaugeParam *param)
void comm_set_gridsize_(int *grid)
QudaGaugeParam param
Definition: pack_test.cpp:17
void free_clover_quda_(void)
void invert_multi_shift_quda_(void *_hp_x[QUDA_MAX_MULTI_SHIFT], void *_hp_b, QudaInvertParam *param)
void update_gauge_field_quda_(void *gauge, void *momentum, double *dt, bool *conj_mom, bool *exact, QudaGaugeParam *param)
__constant__ double coeff
void load_gauge_quda_(void *h_gauge, QudaGaugeParam *param)
void compute_staggered_force_quda_(void *cudaMom, void *qudaQuark, double *coeff)
enum QudaParity_s QudaParity
cudaGaugeField * cudaMom
void free_gauge_quda_(void)
QudaInvertParam inv_param
Definition: dslash_test.cpp:38
void remove_staggered_phase_quda_()
void mat_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param)
void free_sloppy_gauge_quda_(void)
void init_quda_device_(int *device)
int device
Definition: test_util.cpp:1546
void mat_dag_mat_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param)
int compute_gauge_force_quda_(void *mom, void *gauge, int *input_path_buf, int *path_length, double *loop_coeff, int *num_paths, int *max_length, double *dt, QudaGaugeParam *qudaGaugeParam)
void invert_quda_(void *h_x, void *h_b, QudaInvertParam *param)
void init_quda_memory_()
const QudaParity parity
Definition: dslash_test.cpp:29
void * gauge[4]
Definition: su3_test.cpp:15
void end_quda_(void)