31 void *clover, *even, *odd;
32 void *norm, *evenNorm, *oddNorm;
34 void *cloverInv, *evenInv, *oddInv;
35 void *invNorm, *evenInvNorm, *oddInvNorm;
37 void loadCPUField(
void *d_clover,
void *d_norm,
const void *h_clover,
39 void loadParityField(
void *d_clover,
void *d_norm,
const void *h_clover,
41 void loadFullField(
void *d_even,
void *d_even_norm,
void *d_odd,
void *d_odd_norm,
47 #ifdef USE_TEXTURE_OBJECTS
48 cudaTextureObject_t evenTex;
49 cudaTextureObject_t evenNormTex;
50 cudaTextureObject_t oddTex;
51 cudaTextureObject_t oddNormTex;
52 cudaTextureObject_t evenInvTex;
53 cudaTextureObject_t evenInvNormTex;
54 cudaTextureObject_t oddInvTex;
55 cudaTextureObject_t oddInvNormTex;
56 void createTexObject(cudaTextureObject_t &tex, cudaTextureObject_t &texNorm,
void *field,
void *norm);
57 void destroyTexObject();
71 #ifdef USE_TEXTURE_OBJECTS
72 const cudaTextureObject_t& EvenTex()
const {
return evenTex; }
73 const cudaTextureObject_t& EvenNormTex()
const {
return evenNormTex; }
74 const cudaTextureObject_t& OddTex()
const {
return oddTex; }
75 const cudaTextureObject_t& OddNormTex()
const {
return oddNormTex; }
76 const cudaTextureObject_t& EvenInvTex()
const {
return evenInvTex; }
77 const cudaTextureObject_t& EvenInvNormTex()
const {
return evenInvNormTex; }
78 const cudaTextureObject_t& OddInvTex()
const {
return oddInvTex; }
79 const cudaTextureObject_t& OddInvNormTex()
const {
return oddInvNormTex; }
107 #ifdef USE_TEXTURE_OBJECTS
108 const cudaTextureObject_t &evenTex;
109 const cudaTextureObject_t &evenNormTex;
110 const cudaTextureObject_t &oddTex;
111 const cudaTextureObject_t &oddNormTex;
112 const cudaTextureObject_t& EvenTex()
const {
return evenTex; }
113 const cudaTextureObject_t& EvenNormTex()
const {
return evenNormTex; }
114 const cudaTextureObject_t& OddTex()
const {
return oddTex; }
115 const cudaTextureObject_t& OddNormTex()
const {
return oddNormTex; }
120 #ifdef USE_TEXTURE_OBJECTS
121 , evenTex(inverse ? clover.evenInvTex : clover.evenTex)
122 , evenNormTex(inverse ? clover.evenInvNormTex : clover.evenNormTex)
123 , oddTex(inverse ? clover.oddInvTex : clover.oddTex)
124 , oddNormTex(inverse ? clover.oddInvNormTex : clover.oddNormTex)
128 even = clover.evenInv;
146 #endif // _CLOVER_QUDA_H