Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.83 KB | None | 0 0
  1. #include "cuda_runtime.h"
  2. #include "device_launch_parameters.h"
  3. #include <stdio.h>
  4. #include <cstdlib>
  5.  
  6. __global__ void sum(int *c, int *a, int *b)
  7. {
  8.     *c = *a + *b;
  9. }
  10.  
  11. int main()
  12. {
  13.     int c, a = rand() , b = rand();
  14.     printf("a: %d\n", a);
  15.     printf("b: %d\n", b);
  16.  
  17.     int *d_a, *d_c, *d_b;
  18.  
  19.     cudaMalloc((void**)& d_a, sizeof(int));
  20.     cudaMalloc((void**)& d_b, sizeof(int));
  21.     cudaMalloc((void**)& d_c, sizeof(int));
  22.  
  23.     cudaMemcpy(d_a, &a, sizeof(int), cudaMemcpyHostToDevice);
  24.     cudaMemcpy(d_b, &b, sizeof(int), cudaMemcpyHostToDevice);
  25.     cudaMemcpy(d_c, &c, sizeof(int), cudaMemcpyHostToDevice);
  26.  
  27.     sum <<<1,1>>> (d_c, d_a, d_b); //не понимаю ошибку // <<<gridSize, blockSize>>>
  28.  
  29.     cudaMemcpy(&c, d_c, sizeof(int), cudaMemcpyDeviceToHost);
  30.  
  31.     cudaFree(d_a);
  32.     cudaFree(d_b);
  33.     cudaFree(d_c);
  34.  
  35.     printf("%d", c);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement