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}