cuda_compat.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #ifdef USE_ROCM
  3. #include <hip/hip_runtime.h>
  4. #endif
  5. #ifndef USE_ROCM
  6. #define WARP_SIZE 32
  7. #else
  8. #define WARP_SIZE warpSize
  9. #endif
  10. #ifndef USE_ROCM
  11. #define APHRODITE_LDG(arg) __ldg(arg)
  12. #else
  13. #define APHRODITE_LDG(arg) *(arg)
  14. #endif
  15. #ifndef USE_ROCM
  16. #define APHRODITE_SHFL_XOR_SYNC(var, lane_mask) \
  17. __shfl_xor_sync(uint32_t(-1), var, lane_mask)
  18. #else
  19. #define APHRODITE_SHFL_XOR_SYNC(var, lane_mask) __shfl_xor(var, lane_mask)
  20. #endif
  21. #ifndef USE_ROCM
  22. #define APHRODITE_SHFL_SYNC(var, src_lane) \
  23. __shfl_sync(uint32_t(-1), var, src_lane)
  24. #else
  25. #define APHRODITE_SHFL_SYNC(var, src_lane) __shfl(var, src_lane)
  26. #endif
  27. #ifndef USE_ROCM
  28. #define APHRODITE_SHFL_DOWN_SYNC(var, lane_delta) \
  29. __shfl_down_sync(uint32_t(-1), var, lane_delta)
  30. #else
  31. #define APHRODITE_SHFL_DOWN_SYNC(var, lane_delta) __shfl_down(var, lane_delta)
  32. #endif
  33. #ifndef USE_ROCM
  34. #define APHRODITE_DevFuncAttribute_SET_MaxDynamicSharedMemorySize(FUNC, VAL) \
  35. cudaFuncSetAttribute(FUNC, cudaFuncAttributeMaxDynamicSharedMemorySize, VAL)
  36. #else
  37. #define APHRODITE_DevFuncAttribute_SET_MaxDynamicSharedMemorySize(FUNC, VAL) \
  38. hipFuncSetAttribute(FUNC, hipFuncAttributeMaxDynamicSharedMemorySize, VAL)
  39. #endif