1#include <stdio.h>
2
3__global__ void vectorAdd(const float *A, const float *B, float *C, int numElements) {
4 int i = blockDim.x * blockIdx.x + threadIdx.x;
5 if (i < numElements) {
6 C[i] = A[i] + B[i];
7 }
8}
9
10__device__ int get_thread_id() {
11 return threadIdx.x;
12}
13
14__host__ void init_vectors(float *A, float *B, int n) {
15 for (int i = 0; i < n; ++i) {
16 A[i] = rand() / (float)RAND_MAX;
17 B[i] = rand() / (float)RAND_MAX;
18 }
19}
20
21int main(void) {
22 int numElements = 50000;
23 size_t size = numElements * sizeof(float);
24 printf("[Vector addition of %d elements]\n", numElements);
25 return 0;
26}