Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2017
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. $ cat t429.cu
  2. #include <stdint.h>
  3. #include <stdio.h>
  4.  
  5. __global__ void t(const uint64_t *in){
  6.  
  7. int position = threadIdx.x;
  8. uint16_t a = (in[position] >> 48);
  9. uint16_t b = (in[position] >> 32) & 0xffff;
  10. uint16_t g = (in[position] >> 16) & 0xffff;
  11. uint16_t r = in[position] & 0xffff;
  12. float fa = a;
  13. float fb = b;
  14. float fg = g;
  15. float fr = r;
  16. printf("%f\n", fa);
  17. printf("%f\n", fb);
  18. printf("%f\n", fg);
  19. printf("%f\n", fr);
  20. }
  21.  
  22. int main(){
  23.  
  24. uint64_t *data;
  25. cudaMalloc(&data, sizeof(uint64_t));
  26. cudaMemset(((unsigned char *)data)+0, 1, 2);
  27. cudaMemset(((unsigned char *)data)+2, 2, 2);
  28. cudaMemset(((unsigned char *)data)+4, 3, 2);
  29. cudaMemset(((unsigned char *)data)+6, 4, 2);
  30. t<<<1,1>>>(data);
  31. cudaDeviceSynchronize();
  32. }
  33. $ nvcc -arch=sm_61 -o t429 t429.cu
  34. $ cuda-memcheck ./t429
  35. ========= CUDA-MEMCHECK
  36. 1028.000000
  37. 771.000000
  38. 514.000000
  39. 257.000000
  40. ========= ERROR SUMMARY: 0 errors
  41. $
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement