Advertisement
Guest User

Untitled

a guest
May 24th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define N 15
  4.  
  5. __global__ void funkcja(int *a, int *b, int *c)
  6. {
  7. int indeks = blockIdx.x;
  8. if (indeks < N) {
  9. c[indeks]= a[indeks] + b[indeks];
  10. }
  11. }
  12.  
  13. int main(void)
  14. {
  15. int *a, *b, *c;
  16. cudaMallocManaged(&a, N*sizeof(int));
  17. cudaMallocManaged(&b, N*sizeof(int));
  18. cudaMallocManaged(&c, N*sizeof(int));
  19.  
  20.  
  21. for (int i = 0; i<N; i++) {
  22. a[i] = 2 *i;
  23. b[i] = 2 *i;
  24. }
  25. funkcja<<<N,1>>>(a, b, c);
  26. cudaDeviceSynchronize();
  27. for (int i = 0; i< N; i++) {
  28. printf("%d + %d = %d\n", a[i], b[i], c[i]);
  29. }
  30. cudaFree(a);
  31. cudaFree(b);
  32. cudaFree(c);
  33. return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement