su2hmc
Loading...
Searching...
No Matches
Todo List
File clover.h

We can make the clover a little quicker by storing it as a struct with a real and imaginary part. This gets a little complex as we need it in both single and double precision, and C doesn't do templating

Multiple MPI Ranks are not currently supported for the clover action. This is due to the corner halo terms needed to compute the clover force not being implemented.

Member Force (double *dSdpi, const bool iflag, double res1, Complex *X0, Complex *X1, Complex *Phi, Complex *ut[2], Complex_f *ut_f[2], unsigned int *iu, unsigned int *id, Complex gamval[20], Complex_f gamval_f[20], const unsigned short gamin[16], Complex *sigval, Complex_f *sigval_f, unsigned short *sigin, double *dk[2], float *dk_f[2], const Complex_f jqq, const float akappa, const float beta, const float c_sw, double *ancg)
If Gauge_force has not been called then set dSdpi to zero. The rest of the force uses += and as a result will add onto the previous answer instead of giving just the fermion force at this step
Member ia (int x, int y, int z, int t)
Future... Switch for Row and column major, and zero or one indexing
Member Init_CUDA (Complex *u11t, Complex *u12t, Complex gamval[20], Complex_f gamval_f[20], unsigned short gamin[16], double *dk4m, double *dk4p, unsigned int *iu, unsigned int *id)
CUDA 13 changed how setting devices work, so it's not just an integer any more. Those lines are commented out for now. They are not critical. Only hints for unified memory management.
Member main (int argc, char *argv[])
TODO: Select integrator at runtime