summaryrefslogtreecommitdiff
path: root/examples/cuda-chill/mriq.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cuda-chill/mriq.c')
-rw-r--r--examples/cuda-chill/mriq.c33
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;
+ }
+ }
+}
+