QUDA  v1.1.0
A library for QCD on GPUs
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 
167  void invert_multishift_quda_(void *_hp_x, void *_hp_b, QudaInvertParam *param);
168 
169 
181  void update_gauge_field_quda_(void* gauge, void* momentum, double *dt,
182  bool *conj_mom, bool *exact, QudaGaugeParam* param);
183 
195  void compute_staggered_force_quda_(void *mom, double *dt, double *delta, void *gauge, void *x,
196  QudaGaugeParam *gauge_param, QudaInvertParam *invert_param);
197 
208  void compute_gauge_force_quda_(void *mom, void *gauge, int *num_loop_types, double *coeff, double *dt,
210 
215 
220 
230  void kinetic_quda_(double *kin, void* momentum, QudaGaugeParam* param);
231 
236  void plaq_quda_(double plaq[3]);
237 
241  void set_kernel_pack_t_(int *pack);
242 
247  void flush_chrono_quda_(int *index);
248 
254  void register_pinned_quda_(void *ptr, size_t *bytes);
255 
260  void unregister_pinned_quda_(void *ptr);
261 
262 #ifdef __cplusplus
263 }
264 #endif
265 
266 #endif /* _QUDA_FORTRAN_H */
QudaParity parity
Definition: covdev_test.cpp:40
QudaGaugeParam gauge_param
Definition: covdev_test.cpp:26
QudaInvertParam inv_param
Definition: covdev_test.cpp:27
enum QudaParity_s QudaParity
unsigned long long bytes
__device__ __host__ Matrix< T, 3 > inverse(const Matrix< T, 3 > &u)
Definition: quda_matrix.h:605
QudaGaugeParam param
Definition: pack_test.cpp:18
void compute_gauge_force_quda_(void *mom, void *gauge, int *num_loop_types, double *coeff, double *dt, QudaGaugeParam *param)
Compute the gauge force and update the mometum field.
void update_gauge_field_quda_(void *gauge, void *momentum, double *dt, bool *conj_mom, bool *exact, QudaGaugeParam *param)
void free_gauge_quda_(void)
void invert_quda_(void *h_x, void *h_b, QudaInvertParam *param)
void new_quda_gauge_param_(QudaGaugeParam *param)
void invert_multishift_quda_(void *_hp_x, void *_hp_b, QudaInvertParam *param)
void set_kernel_pack_t_(int *pack)
fTemporary function exposed for TIFR benchmarking
void new_quda_invert_param_(QudaInvertParam *param)
void load_gauge_quda_(void *h_gauge, QudaGaugeParam *param)
void apply_staggered_phase_quda_()
Apply the staggered phase factors to the resident gauge field.
void mat_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param)
void init_quda_memory_()
void end_quda_(void)
void init_quda_(int *device)
void mat_dag_mat_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param)
void free_sloppy_gauge_quda_(void)
void free_clover_quda_(void)
void comm_set_gridsize_(int *grid)
void init_quda_device_(int *device)
void register_pinned_quda_(void *ptr, size_t *bytes)
Pinned a pre-existing memory allocation.
void kinetic_quda_(double *kin, void *momentum, QudaGaugeParam *param)
Evaluate the kinetic (momentum) contribution to classical Hamiltonian for Hybrid Monte Carlo.
void compute_staggered_force_quda_(void *mom, double *dt, double *delta, void *gauge, void *x, QudaGaugeParam *gauge_param, QudaInvertParam *invert_param)
void dslash_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param, QudaParity *parity)
void remove_staggered_phase_quda_()
Remove the staggered phase factors to the resident gauge field.
void load_clover_quda_(void *h_clover, void *h_clovinv, QudaInvertParam *inv_param)
void unregister_pinned_quda_(void *ptr)
Pinned a pre-existing memory allocation.
void flush_chrono_quda_(int *index)
Flush the chronological history for the given index.
void clover_quda_(void *h_out, void *h_in, QudaInvertParam *inv_param, QudaParity *parity, int *inverse)
void plaq_quda_(double plaq[3])