26#define M_PI 3.14159265358979323846264338327 
   37GLB_VAR(
long int, GLB_VOL3, = 0);
 
   38GLB_VAR(
long int, GLB_VOLUME, = 0);
 
   40GLB_VAR(
long int, VOL3, = 0);
 
   41GLB_VAR(
long int, VOLUME, = 0);
 
   47GLB_VAR(
int, NP_T, = 1); 
 
   48GLB_VAR(
int, NP_X, = 1); 
 
   49GLB_VAR(
int, NP_Y, = 1); 
 
   50GLB_VAR(
int, NP_Z, = 1); 
 
   53GLB_VAR(
int, MPI_BLK_T, = 1); 
 
   54GLB_VAR(
int, MPI_BLK_X, = 1); 
 
   55GLB_VAR(
int, MPI_BLK_Y, = 1); 
 
   56GLB_VAR(
int, MPI_BLK_Z, = 1); 
 
   59GLB_VAR(
int, GLB_T, = 0); 
 
   60GLB_VAR(
int, GLB_X, = 0); 
 
   61GLB_VAR(
int, GLB_Y, = 0); 
 
   62GLB_VAR(
int, GLB_Z, = 0); 
 
   64GLB_VAR(
int, T_BORDER, = 0);
 
   65GLB_VAR(
int, X_BORDER, = 0);
 
   66GLB_VAR(
int, Y_BORDER, = 0);
 
   67GLB_VAR(
int, Z_BORDER, = 0);
 
   69GLB_VAR(
int, T_EXT, = 0);
 
   70GLB_VAR(
int, X_EXT, = 0);
 
   71GLB_VAR(
int, Y_EXT, = 0);
 
   72GLB_VAR(
int, Z_EXT, = 0);
 
   75GLB_VAR(
int, PB_T, = 2);
 
   76GLB_VAR(
int, PB_X, = 2);
 
   77GLB_VAR(
int, PB_Y, = 2);
 
   78GLB_VAR(
int, PB_Z, = 2);
 
   81GLB_VAR(
int, WORLD_SIZE, = 1); 
 
   82GLB_VAR(
int, CART_SIZE, = 1); 
 
   83GLB_VAR(
int, N_REP, = 1); 
 
   84GLB_VAR(
int, MPI_WORLD_SIZE, = 1); 
 
   85GLB_VAR(
int, MPI_PID, = 0); 
 
   88GLB_VAR(MPI_Comm, GLB_COMM, = MPI_COMM_WORLD); 
 
   89GLB_VAR(MPI_Comm, cart_comm, = MPI_COMM_NULL); 
 
   92GLB_VAR(
int, RID, = 0); 
 
   93GLB_VAR(
int, PID, = 0); 
 
   94GLB_VAR(
int, LID, = 0); 
 
   96GLB_VAR(
int, CID, = 0); 
 
   97GLB_VAR(
int, COORD[4], = { 0 }); 
 
   98GLB_VAR(
int, PSIGN, = 0); 
 
  101GLB_VAR(
int, *ipt, = NULL);
 
  102GLB_VAR(
int, *ipt_4d, = NULL); 
 
  103GLB_VAR(
int, *iup, = NULL);
 
  104GLB_VAR(
int, *idn, = NULL);
 
  105GLB_VAR(
char, *imask, = NULL);
 
  106GLB_VAR(
int, zerocoord[4], = { 0, 0, 0, 0 });
 
  107GLB_VAR(
int, *timeslices, = NULL);
 
  109GLB_VAR(
int, BLK_T, = 4);
 
  110GLB_VAR(
int, BLK_X, = 4);
 
  111GLB_VAR(
int, BLK_Y, = 4);
 
  112GLB_VAR(
int, BLK_Z, = 4);
 
  131GLB_VAR(
box_t *, geometryBoxes, );
 
  132GLB_VAR(
box_t *, geometryBoxes_gpu, );
 
  133GLB_VAR(
coord4 *, icoord_gpu, );
 
  134GLB_VAR(
coord4 *, sb_icoord_gpu, );
 
  137#define glat_default glat_even 
  139#define glat_default glattice 
  143#define STD_MEM_TYPE (CPU_MEM | GPU_MEM) 
  145#define BLOCK_SIZE 256 
  146#define BLOCK_SIZE_LINEAR_ALGEBRA 256 
  147#define BLOCK_SIZE_GLOBAL_SUM 512 
  148#define BLOCK_SIZE_DIRAC 256 
  149#define BLOCK_SIZE_CLOVER 256 
  150#define BLOCK_SIZE_DIRAC_FLT 512 
  151#define BLOCK_SIZE_SYNC 32 
  153GLB_VAR(cudaStream_t, non_default_stream, = NULL);
 
  154GLB_VAR(cudaStream_t, memory_streams[16]);
 
  157GLB_VAR(
input_gpu, gpu_var, = init_input_gpu(gpu_var));
 
  158GLB_VAR(
int, gpu_id, = 0);
 
  159GLB_VAR(
int, *ipt_gpu, = NULL);
 
  160GLB_VAR(
int, *iup_gpu, = NULL);
 
  161GLB_VAR(
int, *idn_gpu, = NULL);
 
  162GLB_VAR(
char, *imask_gpu, = NULL);
 
  163GLB_VAR(
unsigned int, grid_size_max_gpu, = 65535);
 
  164GLB_VAR(
int, *timeslices_gpu, = NULL);
 
  166#define STD_MEM_TYPE (CPU_MEM) 
  168GLB_VAR(mem_t, std_mem_t, = STD_MEM_TYPE); 
 
  169GLB_VAR(mem_t, alloc_mem_t, = STD_MEM_TYPE); 
 
  175GLB_VAR(comm_t, std_comm_t, = CPU_COMM);
 
  177GLB_VAR(comm_t, std_comm_t, = GPU_COMM);
 
  181#include "suN_types.h" 
  191#if defined(WITH_EXPCLOVER) && defined(WITH_GPU) 
  195GLB_VAR(
clover_term, *cl_term_expAminusinv, = NULL);
 
  201GLB_VAR(
int, gauge_field_active, = 0); 
 
  203#define pu_gauge(ix, mu) ((u_gauge->ptr) + coord_to_index(ix, mu)) 
  204#define pu_scalar(ix) ((u_scalar->ptr) + ix) 
  205#define pu_gauge_flt(ix, mu) ((u_gauge_flt->ptr) + coord_to_index(ix, mu)) 
  206#define pu_gauge_f(ix, mu) ((u_gauge_f->ptr) + coord_to_index(ix, mu)) 
  207#define pu_gauge_f_flt(ix, mu) ((u_gauge_f_flt->ptr) + coord_to_index(ix, mu)) 
  210#include "IO/input_par.h" 
  211GLB_VAR(
input_glb, glb_var, = init_input_glb(glb_var));
 
  214GLB_VAR(
input_rlx, rlx_var, = init_input_rlx(rlx_var));
 
  217GLB_VAR(
input_logger, logger_var, = init_input_logger(logger_var));
 
  220#if (!defined(REPR_FUNDAMENTAL) && !defined(WITH_QUATERNIONS)) || defined(BC_T_SF_ROTATED) 
  221#define ALLOCATE_REPR_GAUGE_FIELD 
  224GLB_VAR(
double, *plaq_weight, = NULL);
 
  225GLB_VAR(
double, *rect_weight, = NULL);
 
  226GLB_VAR(
double, *plaq_weight_gpu, = NULL);
 
  227GLB_VAR(
double, *rect_weight_gpu, = NULL);
 
  231GLB_VAR(hr_complex, eitheta[4], = { 1.0, 1.0, 1.0, 1.0 });
 
  235#define MEASURE_FORCE0 
  236#define MEASURE_FORCEHMC 
  237GLB_VAR(
double, *force_ave, = NULL);
 
  238GLB_VAR(
double, *force_max, = NULL);
 
  239GLB_VAR(
int, *n_inv_iter, = NULL);
 
  249GLB_VAR(
int, four_fermion_active, = 0); 
 
Validation checks of the input parameters specified in the input file and error messages that give in...
 
Macros to declare global variables.
 
Global flags that indicate for example that a certain field has been updated.
 
This file contains information on the geometry of the local lattice, block decomposed geometry,...
 
Basic gpu imports and structs. Include this in files that define GPU logic.
 
The elementary site structures defined in suN.h are used in this file to define field structures that...
 
Definition new_geometry.h:56
 
Clover Force.
Definition spinor_field.h:304
 
Clover term.
Definition spinor_field.h:288
 
Definition new_geometry.h:39
 
This struct should contain all information necessary to perform operations on the local lattice inclu...
Definition geometry_descriptor.h:106
 
LDL decomposition field needed for clover improvement.
Definition spinor_field.h:256
 
Scalar field of double precision real values.
Definition spinor_field.h:240
 
Single precision gauge field in the chosen fermion representation.
Definition spinor_field.h:171
 
Gauge field in chosen fermion representation.
Definition spinor_field.h:153
 
Field of SU(N_g) algebra vectors.
Definition spinor_field.h:224
 
Gauge field of single precision SU(N_g) matrices.
Definition spinor_field.h:135
 
Gauge field of SU(N_g) matrices.
Definition spinor_field.h:98
 
SU(N_g) scalar field of SU(N_g) vectors.
Definition spinor_field.h:117