Advanced Computing Platform for Theoretical Physics

commit大文件会使得服务器变得不稳定,请大家尽量只commit代码,不要commit大的文件。

Commit a7974dba authored by mikeaclark's avatar mikeaclark
Browse files

Fixed small bug in dslash_test (clover_cuda_prec needs to be defined)

git-svn-id: http://lattice.bu.edu/qcdalg/cuda/quda@489 be54200a-260c-0410-bdd7-ce6af2a381ab
parent 6cf13493
...@@ -186,8 +186,15 @@ void loadParityClover(ParityClover ret, void *clover, Precision cpu_prec, ...@@ -186,8 +186,15 @@ void loadParityClover(ParityClover ret, void *clover, Precision cpu_prec,
} }
#ifndef __DEVICE_EMULATION__ #ifndef __DEVICE_EMULATION__
cudaMallocHost(&packedClover, ret.bytes); if (cudaMallocHost(&packedClover, ret.bytes) == cudaErrorMemoryAllocation) {
if (ret.precision == QUDA_HALF_PRECISION) cudaMallocHost(&packedCloverNorm, ret.bytes/18); printf("Error allocating clover pinned memory\n");
exit(0);
}
if (ret.precision == QUDA_HALF_PRECISION)
if (cudaMallocHost(&packedCloverNorm, ret.bytes/18) == cudaErrorMemoryAllocation) {
printf("Error allocating clover pinned memory\n");
exit(0);
}
#else #else
packedClover = malloc(ret.bytes); packedClover = malloc(ret.bytes);
if (ret.precision == QUDA_HALF_PRECISION) packedCloverNorm = malloc(ret.bytes/18); if (ret.precision == QUDA_HALF_PRECISION) packedCloverNorm = malloc(ret.bytes/18);
......
...@@ -29,14 +29,14 @@ void *spinorGPU, *spinorGPUEven, *spinorGPUOdd; ...@@ -29,14 +29,14 @@ void *spinorGPU, *spinorGPUEven, *spinorGPUOdd;
double kappa = 1.0; double kappa = 1.0;
int ODD_BIT = 1; int ODD_BIT = 1;
int DAGGER_BIT = 0; int DAGGER_BIT = 0;
int TRANSFER = 0; // include transfer time in the benchmark? int TRANSFER = 1; // include transfer time in the benchmark?
void init() { void init() {
gaugeParam.X[0] = 24; gaugeParam.X[0] = 24;
gaugeParam.X[1] = 24; gaugeParam.X[1] = 24;
gaugeParam.X[2] = 24; gaugeParam.X[2] = 24;
gaugeParam.X[3] = 48; gaugeParam.X[3] = 24;
setDims(gaugeParam.X); setDims(gaugeParam.X);
gaugeParam.anisotropy = 2.3; gaugeParam.anisotropy = 2.3;
...@@ -49,7 +49,7 @@ void init() { ...@@ -49,7 +49,7 @@ void init() {
gaugeParam.reconstruct = QUDA_RECONSTRUCT_12; gaugeParam.reconstruct = QUDA_RECONSTRUCT_12;
gaugeParam.reconstruct_sloppy = gaugeParam.reconstruct; gaugeParam.reconstruct_sloppy = gaugeParam.reconstruct;
gaugeParam.cuda_prec_sloppy = gaugeParam.cuda_prec; gaugeParam.cuda_prec_sloppy = gaugeParam.cuda_prec;
gaugeParam.gauge_fix = QUDA_GAUGE_FIXED_YES; gaugeParam.gauge_fix = QUDA_GAUGE_FIXED_NO;
gaugeParam.blockDim = 64; gaugeParam.blockDim = 64;
...@@ -61,7 +61,7 @@ void init() { ...@@ -61,7 +61,7 @@ void init() {
inv_param.kappa = kappa; inv_param.kappa = kappa;
inv_param.matpc_type = QUDA_MATPC_ODD_ODD_ASYMMETRIC; inv_param.matpc_type = QUDA_MATPC_ODD_ODD;
inv_param.cpu_prec = QUDA_DOUBLE_PRECISION; inv_param.cpu_prec = QUDA_DOUBLE_PRECISION;
inv_param.cuda_prec = QUDA_DOUBLE_PRECISION; inv_param.cuda_prec = QUDA_DOUBLE_PRECISION;
...@@ -71,7 +71,8 @@ void init() { ...@@ -71,7 +71,8 @@ void init() {
if (clover_yes) { if (clover_yes) {
inv_param.clover_cpu_prec = QUDA_DOUBLE_PRECISION; inv_param.clover_cpu_prec = QUDA_DOUBLE_PRECISION;
inv_param.clover_cuda_prec = QUDA_HALF_PRECISION; inv_param.clover_cuda_prec = QUDA_DOUBLE_PRECISION;
inv_param.clover_cuda_prec_sloppy = inv_param.clover_cuda_prec;
inv_param.clover_order = QUDA_PACKED_CLOVER_ORDER; inv_param.clover_order = QUDA_PACKED_CLOVER_ORDER;
} }
inv_param.verbosity = QUDA_VERBOSE; inv_param.verbosity = QUDA_VERBOSE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment