kuqcd_load_gaugefield
加载规范场对象
接口定义
KuQCDStatus kuqcd_load_gaugefield(void *h_gauge, KuQCDGaugeParam *param);
参数
参数名 |
类型 |
描述 |
输入/输出 |
|---|---|---|---|
h_gauge |
void * |
规范场的数据 |
输入 |
param |
KuQCDGaugeParam * |
规范场的配置选项,具体内容如表表1所示 |
输入 |
字段名 |
类型 |
描述 |
|---|---|---|
lat |
unsigned int [4] |
x,y,z,t方向格点数 |
halo_depth |
int |
halo区大小,对于旋量场取0;对于规范场,若做rhmc,取3,只做inverter,取0。 |
od |
KuQCDRankOrder |
进程排布顺序,可取KUQCD_XYZT_ORDER(x方向快变)或KUQCD_TZYX_ORDER(t方向快变) |
site_subset |
KuQCDSiteSubset |
子格点,可取值KUQCD_EVEN, KUQCD_ODD, KUQCD_ALL |
gauge_order |
KuQCDGaugeOrder |
数据排布顺序,可取KUQCD_NORMAL_ORDER(对于旋量场(even-odd)-y-z-y-x-Ns-3-(real-imag),对于规范场(even-odd)-t-z-y-x-direction-col-row-(real-imag))和KUQCD_BATCH_ORDER(对于旋量场(even-odd)-y-z-y-(x/Nbatch)-Ns-3-(real*Nbatch-imag*Nbatch),对于规范场(even-odd)-t-z-y-(x/Nbatch)-direction-col-row-(real*Nbatch-imag*Nbatch)) |
prec |
KuQCDPrecision |
精度,可取KUQCD_SINGLE_PRECISION和KUQCD_DOUBLE_PRECISION |
link_type |
KuQCDLinkType |
链接类型,取值有
|
recon |
KuQCDReconstructType |
SU(3)矩阵压缩方式,取值有
|
返回值
返回值 |
类型 |
描述 |
|---|---|---|
KUQCD_SUCCESS |
int |
执行成功 |
KUQCD_ERR_INVALID_PARAM |
int |
无效参数 |
KUQCD_ERR_UNSUPPORTED |
int |
不支持的选项 |
KUQCD_ERR_NULL_POINTER |
int |
空指针 |