Skip to content

Commit 22f1030

Browse files
author
Justin Foley
committed
Added link updating. Modified code to work with QUDA master branch
1 parent 9e58a1c commit 22f1030

9 files changed

+263
-149
lines changed

milc_interface/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ TEST_OBJS = ../tests/test_util.o ../tests/staggered_dslash_reference.o ../tests/
1111
LOCAL_HDRS = include/milc_utilities.h include/milc_timer.h include/milc_inverter_utilities.h
1212
EXTERNAL_HDR = external_headers/quda_milc_interface.h
1313

14-
INTERFACE_OBJS = milc_init_finalize_interface.o milc_utilities.o milc_timer.o
14+
INTERFACE_OBJS = milc_init_finalize_interface.o milc_utilities.o milc_timer.o milc_update_interface.o
1515

1616
ifeq ($(strip $(BUILD_STAGGERED_DIRAC)),yes)
1717
INTERFACE_OBJS += milc_staggered_inverter_interface.o milc_inverter_utilities.o
@@ -53,5 +53,5 @@ clean:
5353
-rm -f *.o
5454

5555
%.o: %.cpp
56-
$(CXX) $(CXXFLAGS) ${INC} $< -c -o $@
56+
$(CXX) -g $(CXXFLAGS) ${INC} $< -c -o $@
5757
# $(CXX) $(CXXFLAGS) -DTIME_INTERFACE ${INC} $< -c -o $@

milc_interface/external_headers/quda_milc_interface.h

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#define _QUDA_MILC_INTERFACE_H
33

44
#include <enum_quda.h>
5+
#include <quda.h>
56

67
#ifdef __cplusplus
78
extern "C" {
@@ -53,7 +54,7 @@ extern "C" {
5354
void qudaHisqParamsInit(QudaHisqParams_t hisq_params);
5455

5556

56-
void qudaLoadFatLink(int precision, QudaFatLinkArgs_t fatlink_args, const double act_path_coeff[6], void* inlink, void* outlink);
57+
void qudaLoadKSLink(int precision, QudaFatLinkArgs_t fatlink_args, const double act_path_coeff[6], void* inlink, void* fatlink, void* longlink);
5758

5859

5960
void qudaLoadUnitarizedLink(int precision, QudaFatLinkArgs_t fatlink_args, const double path_coeff[6], void* inlink, void* fatlink, void* ulink);
@@ -67,6 +68,7 @@ extern "C" {
6768
double target_relresid,
6869
const void* const milc_fatlink,
6970
const void* const milc_longlink,
71+
const double tadpole,
7072
void* source,
7173
void* solution,
7274
double* const final_resid,
@@ -103,6 +105,7 @@ extern "C" {
103105
const double* target_relative_residual,
104106
const void* const milc_fatlink,
105107
const void* const milc_longlink,
108+
const double tadpole,
106109
void* source,
107110
void** solutionArray,
108111
double* const final_residual,
@@ -128,6 +131,22 @@ extern "C" {
128131
);
129132

130133

134+
void qudaCloverMultishiftInvert(int external_precision,
135+
int quda_precision,
136+
int num_offsets,
137+
double* const offset,
138+
double kappa,
139+
QudaInvertArgs_t inv_args,
140+
const double* target_residual,
141+
const void* milc_link,
142+
void* milc_clover,
143+
void* milc_clover_inv,
144+
void* source,
145+
void** solutionArray,
146+
double* const final_residual,
147+
int* num_iters
148+
);
149+
131150
void qudaHisqForce(
132151
int precision,
133152
const double level2_coeff[6],
@@ -141,6 +160,15 @@ extern "C" {
141160
void* const milc_momentum);
142161

143162

163+
void qudaAsqtadForce(
164+
int precision,
165+
const double act_path_coeff[6],
166+
const void* const one_link_src[4],
167+
const void* const naik_src[4],
168+
const void* const link,
169+
void* const milc_momentum);
170+
171+
144172
void qudaGaugeForce(int precision,
145173
int num_loop_types,
146174
double milc_loop_coeff[3],
@@ -157,7 +185,26 @@ extern "C" {
157185
void* const one_link_src[4],
158186
void* const three_link_src[4]);
159187

188+
void qudaComputeOprod(int precision,
189+
int num_terms,
190+
double** coeff,
191+
void** quark_field,
192+
void* oprod[2]);
193+
194+
195+
void qudaUpdateU(int precision,
196+
double eps,
197+
void* momentum,
198+
void* link);
199+
200+
201+
void qudaCloverDerivative(void* out, void* gauge, void* oprod,
202+
int mu, int nu, int precision, int parity, int conjugate);
203+
204+
205+
void* qudaCreateExtendedGaugeField(void* gauge, int geometry, int precision);
160206

207+
void qudaDestroyGaugeField(void* gauge);
161208

162209
#ifdef __cplusplus
163210
}

milc_interface/include/milc_inverter_utilities.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ namespace milc_interface {
4444
QudaPrecision cuda_prec,
4545
QudaPrecision cuda_prec_sloppy,
4646
QudaPrecision cuda_prec_precondition,
47+
const double tadpole,
4748
QudaGaugeParam *gaugeParam);
4849

4950

0 commit comments

Comments
 (0)