kuqcd_load_gaugefield
Load a gauge field object.
Interface Definition
KuQCDStatus kuqcd_load_gaugefield(void *h_gauge, KuQCDGaugeParam *param);
Parameters
Parameter |
Type |
Description |
Input/Output |
|---|---|---|---|
h_gauge |
void * |
Data of the gauge field |
Input |
param |
KuQCDGaugeParam * |
Configuration options of the gauge field. For details, see Table 1. |
Input |
Field |
Type |
Description |
|---|---|---|
lat |
unsigned int [4] |
Number of lattices in the x, y, z, and t directions |
halo_depth |
int |
Halo region size. For the spinor field, the value is 0. For the gauge field, if RHMC is performed, the value is 3; if only inverter is performed, the value is 0. |
od |
KuQCDRankOrder |
Process order. The value can be KUQCD_XYZT_ORDER (fast change in the x direction) or KUQCD_TZYX_ORDER (fast change in the t direction). |
site_subset |
KuQCDSiteSubset |
Sublattice. The value can be KUQCD_EVEN, KUQCD_ODD, or KUQCD_ALL. |
gauge_order |
KuQCDGaugeOrder |
Data order. The value can be KUQCD_NORMAL_ORDER ((even-odd)-y-z-y-x-Ns-3-(real-imag) for the spinor field; (even-odd)-t-z-y-x-direction-col-row-(real-imag) for the gauge field) or KUQCD_BATCH_ORDER ((even-odd)-y-z-y-(x/Nbatch)-Ns-3-(real*Nbatch-imag*Nbatch) for the spinor field; (even-odd)-t-z-y-(x/Nbatch)-direction-col-row-(real*Nbatch-imag*Nbatch) for the gauge field). |
prec |
KuQCDPrecision |
Precision, which can be KUQCD_SINGLE_PRECISION or KUQCD_DOUBLE_PRECISION. |
link_type |
KuQCDLinkType |
Link type. The options are as follows:
|
recon |
KuQCDReconstructType |
SU(3) matrix compression mode. The options are as follows:
|
Return Value
Return Value |
Type |
Description |
|---|---|---|
KUQCD_SUCCESS |
int |
Successful execution |
KUQCD_ERR_INVALID_PARAM |
int |
Invalid parameter |
KUQCD_ERR_UNSUPPORTED |
int |
Unsupported option |
KUQCD_ERR_NULL_POINTER |
int |
Null pointer |