30#define MPI_Finalise() MPI_Finalize()
49extern int __attribute__((aligned(
AVX)))
pu[
ndim];
51extern int __attribute__((aligned(
AVX)))
pd[
ndim];
58extern MPI_Request request;
107 int Par_sread(
const int iread,
const float beta,
const float fmu,
const float akappa,
const Complex_f ajq,\
124 int Par_swrite(
const int itraj,
const int icheck,
const float beta,
const float fmu,
const float akappa,\
Header for routines related to lattice sites.
This header is intended to be a useful reference for error codes and their meanings.
int CHalo_swap_all(Complex_f *c, int ncpt)
Calls the functions to send data to both the up and down halos.
int Par_swrite(const int itraj, const int icheck, const float beta, const float fmu, const float akappa, const Complex_f ajq, Complex *u11, Complex *u12)
Copies u11 and u12 into arrays without halos which then get written to output.
int __RANLUX__ pstart[ndim][nproc]
The initial lattice site on each sublattice in a given direction.
int Par_fcopy(float *fval)
Broadcasts a float to the other processes.
int ZHalo_swap_all(Complex *z, int ncpt)
Calls the functions to send data to both the up and down halos.
int size
The number of MPI ranks in total.
int Par_fsum(float *dval)
Performs a reduction on a float dval to get a sum which is then distributed to all ranks.
int Par_sread(const int iread, const float beta, const float fmu, const float akappa, const Complex_f ajq, Complex *u11, Complex *u12, Complex *u11t, Complex *u12t)
Reads and assigns the gauges from file.
int Par_dcopy(double *dval)
Broadcasts a double to the other processes.
int Par_begin(int argc, char *argv[])
Initialises the MPI configuration.
int Par_isum(int *ival)
Performs a reduction on an integer ival to get a sum which is then distributed to all ranks.
int Par_icopy(int *ival)
Broadcasts an integer to the other processes.
int ZHalo_swap_dir(Complex *z, int ncpt, int idir, int layer)
Swaps the halos along the axis given by idir in the direction given by layer.
int Par_ccopy(Complex *cval)
Broadcasts a complex float to the other processes.
int Par_zcopy(Complex *zval)
Broadcasts a complex double to the other processes.
int DHalo_swap_all(double *d, int ncpt)
Calls the functions to send data to both the up and down halos.
int __RANLUX__ pu[ndim]
Processors in the up direction.
int Trial_Exchange(Complex *u11t, Complex *u12t, Complex_f *u11t_f, Complex_f *u12t_f)
Exchanges the trial fields.
int CHalo_swap_dir(Complex_f *c, int ncpt, int idir, int layer)
Swaps the halos along the axis given by idir in the direction given by layer.
int __RANLUX__ pstop[ndim][nproc]
The final lattice site on each sublattice in a given direction.
int Par_csum(Complex_f *cval)
Performs a reduction on a complex float cval to get a sum which is then distributed to all ranks.
int Par_zsum(Complex *zval)
Performs a reduction on a complex double zval to get a sum which is then distributed to all ranks.
int __RANLUX__ pd[ndim]
Processors in the down direction.
int DHalo_swap_dir(double *d, int ncpt, int idir, int layer)
Swaps the halos along the axis given by idir in the direction given by layer.
int Par_dsum(double *dval)
Performs a reduction on a double dval to get a sum which is then distributed to all ranks.
int * pcoord
The processor grid.
Defines the constants of the code and other parameters for loop dimensions. Each subroutine includes ...
#define AVX
Alignment of arrays. 64 for AVX-512, 32 for AVX/AVX2. 16 for SSE. Since AVX is standard on modern x86...
#define nproc
Number of processors for MPI.
#define Complex
Double precision complex number.
#define Complex_f
Single precision complex number.