#pragma once #include #ifdef __CUDA_ARCH__ // Proxy for including cuda_fp16.h, because common_gpu.h // has necessary diagnostic guards. #include #endif #if __HIP_DEVICE_COMPILE__ #include #endif // See Note [hip-clang differences to hcc] #if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__) || defined(__HIP__) #define CONVERSIONS_DECL __host__ __device__ inline #else #define CONVERSIONS_DECL inline #endif namespace caffe2 { namespace convert { template CONVERSIONS_DECL OUT To(const IN in) { return static_cast(in); } template CONVERSIONS_DECL OUT Get(IN x) { return static_cast(x); } }; // namespace convert }; // namespace caffe2 #undef CONVERSIONS_DECL