Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. int *a, *b, *c;
  2. int *d_a, *d_b, *d_c;
  3.  
  4.  
  5. a = (int *)malloc(SIZE*sizeof(int));
  6. b = (int *)malloc(SIZE*sizeof(int));
  7. c = (int *)malloc(SIZE*sizeof(int));
  8.  
  9. cudaMalloc( &d_a, SIZE*sizeof(int));
  10. cudaMalloc( &d_b, SIZE*sizeof(int));
  11. cudaMalloc( &d_c, SIZE*sizeof(int));
  12.  
  13.  
  14. for( int i = 0; i < SIZE; i++ )
  15. {
  16. a[i] =i;
  17. b[i] =i;
  18. c[i] =0;
  19. }
  20.  
  21. cudaMemcpy( d_a, a, SIZE*sizeof(int), cudaMemcpyHostToDevice );
  22. cudaMemcpy( d_b, b, SIZE*sizeof(int), cudaMemcpyHostToDevice );
  23. cudaMemcpy( d_c, c, SIZE*sizeof(int), cudaMemcpyHostToDevice );
  24.  
  25.  
  26. InitialAdd<<< 3 , SIZE >>>( d_a, d_b, d_c, SIZE);
  27.  
  28. cudaMemcpy( c, d_c, SIZE*sizeof(int), cudaMemcpyDeviceToHost );
  29.  
  30. for( int i = 0; i < 5000; i++)
  31. printf("c[%d] = %dn", i, c[i]);
  32.  
  33. free(a);
  34. free(b);
  35. free(c);
  36.  
  37. cudaFree(d_a);
  38. cudaFree(d_b);
  39. cudaFree(d_c);
  40.  
  41. return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement