diff options
Diffstat (limited to 'examples/cuda-chill/mriq.c')
| -rw-r--r-- | examples/cuda-chill/mriq.c | 33 | 
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/cuda-chill/mriq.c b/examples/cuda-chill/mriq.c new file mode 100644 index 0000000..ba4b87c --- /dev/null +++ b/examples/cuda-chill/mriq.c @@ -0,0 +1,33 @@ +#define N 32768 +#define M 3072 +struct kValues { +  float Kx; +  float Ky; +  float Kz; +  float PhiMag; +}; +extern float sinf(float); +extern float cosf(float); + +void +ComputeQCPU(int numK, int numX,struct kValues kVals[M],float x[N], float y[N], float z[N],float Qr[N], float Qi[N]) { +  float expArg; +  float cosArg; +  float sinArg; +  float phi; +  int i; +  int j; +  numK = M; +  numX = N; +  for ( i = 0; i < M; i++) { +    for ( j = 0; j < N; j++) { +      expArg = 6.2831853071795864769252867665590058f * (kVals[i].Kx * x[j] +kVals[i].Ky * y[j] +kVals[i].Kz * z[j]); +      cosArg = cosf(expArg); +      sinArg = sinf(expArg); +      phi = kVals[i].PhiMag; +      Qr[j] += phi * cosArg; +      Qi[j] += phi * sinArg; +    } +  } +} +    | 
