7 #if ((CUDA_VERSION >= 4010) && (__COMPUTE_CAPABILITY__ >= 200)) // NVVM compiler
9 #else // Open64 compiler
10 #define VOLATILE volatile
14 #define tmp0_re tmp0.x
15 #define tmp0_im tmp0.y
16 #define tmp1_re tmp1.x
17 #define tmp1_im tmp1.y
18 #define tmp2_re tmp2.x
19 #define tmp2_im tmp2.y
20 #define tmp3_re tmp3.x
21 #define tmp3_im tmp3.y
23 #if (__COMPUTE_CAPABILITY__ >= 130)
24 #ifdef DIRECT_ACCESS_WILSON_SPINOR
25 #define READ_SPINOR READ_SPINOR_DOUBLE
28 #define READ_SPINOR READ_SPINOR_DOUBLE_TEX
30 #ifdef USE_TEXTURE_OBJECTS
31 #define SPINORTEX param.inTex
33 #define SPINORTEX spinorTexDouble
34 #endif // USE_TEXTURE_OBJECTS
38 #define WRITE_SPINOR WRITE_SPINOR_DOUBLE2_STR
67 int sid = blockIdx.x*blockDim.x + threadIdx.x;
68 if (sid >= param.
threads)
return;
115 volatile double2 tmp0,
tmp1,
tmp2, tmp3;
206 #endif // (__CUDA_ARCH__ >= 130)
247 #define tmp0_re tmp0.x
248 #define tmp0_im tmp0.y
249 #define tmp1_re tmp0.z
250 #define tmp1_im tmp0.w
251 #define tmp2_re tmp1.x
252 #define tmp2_im tmp1.y
253 #define tmp3_re tmp1.z
254 #define tmp3_im tmp1.w
256 #ifdef DIRECT_ACCESS_WILSON_SPINOR
257 #define READ_SPINOR READ_SPINOR_SINGLE
260 #define READ_SPINOR READ_SPINOR_SINGLE_TEX
262 #ifdef USE_TEXTURE_OBJECTS
263 #define SPINORTEX param.inTex
265 #define SPINORTEX spinorTexSingle
266 #endif // USE_TEXTURE_OBJECTS
270 #define WRITE_SPINOR WRITE_SPINOR_FLOAT4_STR
299 int sid = blockIdx.x*blockDim.x + threadIdx.x;
300 if (sid >= param.
threads)
return;
328 volatile float4 tmp0,
tmp1;
571 #endif //_TWIST_QUDA_G5
cudaColorSpinorField * tmp1
cudaColorSpinorField * tmp2
__global__ void gamma5Kernel(float4 *out, float *outNorm, float4 *in, float *inNorm, DslashParam param, int myStride)
cpuColorSpinorField * out