Reikriam

ppcg host.cu

Jul 4th, 2020
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <assert.h>
  2. #include <stdio.h>
  3. #include "loopppcg_kernel.hu"
  4. void test(int *arr) {
  5. {
  6. #define cudaCheckReturn(ret) \
  7. do { \
  8. cudaError_t cudaCheckReturn_e = (ret); \
  9. if (cudaCheckReturn_e != cudaSuccess) { \
  10. fprintf(stderr, "CUDA error: %s\n", cudaGetErrorString(cudaCheckReturn_e)); \
  11. fflush(stderr); \
  12. } \
  13. assert(cudaCheckReturn_e == cudaSuccess); \
  14. } while(0)
  15. #define cudaCheckKernel() \
  16. do { \
  17. cudaCheckReturn(cudaGetLastError()); \
  18. } while(0)
  19.  
  20. int *dev_arr;
  21.  
  22. cudaCheckReturn(cudaMalloc((void **) &dev_arr, (5) * sizeof(int)));
  23.  
  24. {
  25. dim3 k0_dimBlock(5);
  26. dim3 k0_dimGrid(1);
  27. kernel0 <<<k0_dimGrid, k0_dimBlock>>> (dev_arr);
  28. cudaCheckKernel();
  29. }
  30.  
  31. cudaCheckReturn(cudaMemcpy(arr, dev_arr, (5) * sizeof(int), cudaMemcpyDeviceToHost));
  32. cudaCheckReturn(cudaFree(dev_arr));
  33. }
  34. }
  35.  
  36. int main(){
  37. int arr[] = {1, 2, 3, 4, 5};
  38. test(arr);
  39. return 1;
  40. }
Add Comment
Please, Sign In to add comment