From 26c490f404731d053a6205719b6246502c07b449 Mon Sep 17 00:00:00 2001 From: Patrick Simianer
Date: Sat, 14 Jun 2014 16:46:27 +0200
Subject: init
---
ccc/vector_addition.cu | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 ccc/vector_addition.cu
(limited to 'ccc/vector_addition.cu')
diff --git a/ccc/vector_addition.cu b/ccc/vector_addition.cu
new file mode 100644
index 0000000..4f16bc3
--- /dev/null
+++ b/ccc/vector_addition.cu
@@ -0,0 +1,61 @@
+#include "stdio.h"
+
+
+__global__ void add_arrays_gpu( float *in1, float *in2, float *out, int Ntot)
+{
+ int idx=blockIdx.x*blockDim.x+threadIdx.x;
+ if (idx < Ntot)
+ out[idx]=in1[idx]+in2[idx];
+}
+
+
+int main(void)
+{
+ /* pointers to host memory */
+ float *a, *b, *c;
+ /* pointers to device memory */
+ float *a_d, *b_d, *c_d;
+ int N=100000000;
+ int i;
+
+ /* Allocate arrays a, b and c on host*/
+ a = (float*) malloc(N*sizeof(float));
+ b = (float*) malloc(N*sizeof(float));
+ c = (float*) malloc(N*sizeof(float));
+
+ /* Allocate arrays a_d, b_d and c_d on device*/
+ cudaMalloc ((void **) &a_d, sizeof(float)*N);
+ cudaMalloc ((void **) &b_d, sizeof(float)*N);
+ cudaMalloc ((void **) &c_d, sizeof(float)*N);
+
+ /* Initialize arrays a and b */
+ for (i=0; i