|
HIP: Heterogenous-computing Interface for Portability
|
HIP supports most of the device functions supported by CUDA. Way to find the unsupported one is to search for the function and check its description Note: This document is not human generated. Any changes to this file will be discarded. Please make changes to Python3 script docs/markdown/device_md_gen.py
If you add or fixed a device function, make sure to add a signature of the function and definition later. For example, if you want to add __device__ float __dotf(float4, float4), which does a dot product on 4 float vector components The way to add to the header is, ```cpp device static float dotf(float4, float4); /*Way down in the file....*/ __device static inline float dotf(float4 x, float4 y) { /*implementation*/ } ```
This helps python script to add the device function newly declared into markdown documentation (as it looks at functions with ; at the end and `__device` at the beginning)
The next step would be to add Description to deviceFuncDesc dictionary in python script. From the above example, it can be writtern as, `deviceFuncDesc['__dotf'] = 'This functions takes 2 4 component float vector and outputs dot product across them'`
```cpp device float acosf(float x);
``` Description: This function returns floating point of arc cosine from a floating point input
```cpp device float acoshf(float x);
``` Description: Supported
```cpp device float asinf(float x);
``` Description: Supported
```cpp device float asinhf(float x);
``` Description: Supported
```cpp device float atan2f(float y, float x);
``` Description: Supported
```cpp device float atanf(float x);
``` Description: Supported
```cpp device float atanhf(float x);
``` Description: Supported
```cpp device float cbrtf(float x);
``` Description: Supported
```cpp device float ceilf(float x);
``` Description: Supported
```cpp device float copysignf(float x, float y);
``` Description: Supported
```cpp device float cosf(float x);
``` Description: Supported
```cpp device float coshf(float x);
``` Description: Supported
```cpp device float cospif(float x);
``` Description: Supported
```cpp //__device__ float cyl_bessel_i0f(float x);
``` Description: NOT Supported
```cpp //__device__ float cyl_bessel_i1f(float x);
``` Description: NOT Supported
```cpp device float erfcf(float x);
``` Description: Supported
```cpp device float erfcinvf(float y);
``` Description: Supported
```cpp device float erfcxf(float x);
``` Description: Supported
```cpp device float erff(float x);
``` Description: Supported
```cpp device float erfinvf(float y);
``` Description: Supported
```cpp device float exp10f(float x);
``` Description: Supported
```cpp device float exp2f(float x);
``` Description: Supported
```cpp device float expf(float x);
``` Description: Supported
```cpp device float expm1f(float x);
``` Description: Supported
```cpp device float fabsf(float x);
``` Description: Supported
```cpp device float fdimf(float x, float y);
``` Description: Supported
```cpp device float fdividef(float x, float y);
``` Description: Supported
```cpp device float floorf(float x);
``` Description: Supported
```cpp device float fmaf(float x, float y, float z);
``` Description: Supported
```cpp device float fmaxf(float x, float y);
``` Description: Supported
```cpp device float fminf(float x, float y);
``` Description: Supported
```cpp device float fmodf(float x, float y);
``` Description: Supported
```cpp //__device__ float frexpf(float x, int* nptr);
``` Description: NOT Supported
```cpp device float hypotf(float x, float y);
``` Description: Supported
```cpp device float ilogbf(float x);
``` Description: Supported
```cpp device int isfinite(float a);
``` Description: Supported
```cpp device unsigned isinf(float a);
``` Description: Supported
```cpp device unsigned isnan(float a);
``` Description: Supported
```cpp device float j0f(float x);
``` Description: Supported
```cpp device float j1f(float x);
``` Description: Supported
```cpp device float jnf(int n, float x);
``` Description: Supported
```cpp device float ldexpf(float x, int exp);
``` Description: Supported
```cpp //__device__ float lgammaf(float x);
``` Description: NOT Supported
```cpp device long long int llrintf(float x);
``` Description: Supported
```cpp device long long int llroundf(float x);
``` Description: Supported
```cpp device float log10f(float x);
``` Description: Supported
```cpp device float log1pf(float x);
``` Description: Supported
```cpp device float logbf(float x);
``` Description: Supported
```cpp device long int lrintf(float x);
``` Description: Supported
```cpp device long int lroundf(float x);
``` Description: Supported
```cpp //__device__ float modff(float x, float *iptr);
``` Description: NOT Supported
```cpp device float nanf(const char* tagp);
``` Description: Supported
```cpp device float nearbyintf(float x);
``` Description: Supported
```cpp //__device__ float nextafterf(float x, float y);
``` Description: NOT Supported
```cpp device float norm3df(float a, float b, float c);
``` Description: Supported
```cpp device float norm4df(float a, float b, float c, float d);
``` Description: Supported
```cpp device float normcdff(float y);
``` Description: Supported
```cpp device float normcdfinvf(float y);
``` Description: Supported
```cpp device float normf(int dim, const float *a);
``` Description: Supported
```cpp device float powf(float x, float y);
``` Description: Supported
```cpp device float rcbrtf(float x);
``` Description: Supported
```cpp device float remainderf(float x, float y);
``` Description: Supported
```cpp device float remquof(float x, float y, int *quo);
``` Description: Supported
```cpp device float rhypotf(float x, float y);
``` Description: Supported
```cpp device float rintf(float x);
``` Description: Supported
```cpp device float rnorm3df(float a, float b, float c);
``` Description: Supported
```cpp device float rnorm4df(float a, float b, float c, float d);
``` Description: Supported
```cpp device float rnormf(int dim, const float* a);
``` Description: Supported
```cpp device float roundf(float x);
``` Description: Supported
```cpp device float rsqrtf(float x);
``` Description: Supported
```cpp device float scalblnf(float x, long int n);
``` Description: Supported
```cpp device float scalbnf(float x, int n);
``` Description: Supported
```cpp device int signbit(float a);
``` Description: Supported
```cpp device void sincosf(float x, float *sptr, float *cptr);
``` Description: Supported
```cpp device void sincospif(float x, float *sptr, float *cptr);
``` Description: Supported
```cpp device float sinf(float x);
``` Description: Supported
```cpp device float sinhf(float x);
``` Description: Supported
```cpp device float sinpif(float x);
``` Description: Supported
```cpp device float sqrtf(float x);
``` Description: Supported
```cpp device float tanf(float x);
``` Description: Supported
```cpp device float tanhf(float x);
``` Description: Supported
```cpp device float tgammaf(float x);
``` Description: Supported
```cpp device float truncf(float x);
``` Description: Supported
```cpp device float y0f(float x);
``` Description: Supported
```cpp device float y1f(float x);
``` Description: Supported
```cpp device float ynf(int n, float x);
``` Description: Supported
```cpp device double acos(double x);
``` Description: Supported
```cpp device double acosh(double x);
``` Description: Supported
```cpp device double asin(double x);
``` Description: Supported
```cpp device double asinh(double x);
``` Description: Supported
```cpp device double atan(double x);
``` Description: Supported
```cpp device double atan2(double y, double x);
``` Description: Supported
```cpp device double atanh(double x);
``` Description: Supported
```cpp device double cbrt(double x);
``` Description: Supported
```cpp device double ceil(double x);
``` Description: Supported
```cpp device double copysign(double x, double y);
``` Description: Supported
```cpp device double cos(double x);
``` Description: Supported
```cpp device double cosh(double x);
``` Description: Supported
```cpp device double cospi(double x);
``` Description: Supported
```cpp //__device__ double cyl_bessel_i0(double x);
``` Description: NOT Supported
```cpp //__device__ double cyl_bessel_i1(double x);
``` Description: NOT Supported
```cpp device double erf(double x);
``` Description: Supported
```cpp device double erfc(double x);
``` Description: Supported
```cpp device double erfcinv(double y);
``` Description: Supported
```cpp device double erfcx(double x);
``` Description: Supported
```cpp device double erfinv(double x);
``` Description: Supported
```cpp device double exp(double x);
``` Description: Supported
```cpp device double exp10(double x);
``` Description: Supported
```cpp device double exp2(double x);
``` Description: Supported
```cpp device double expm1(double x);
``` Description: Supported
```cpp device double fabs(double x);
``` Description: Supported
```cpp device double fdim(double x, double y);
``` Description: Supported
```cpp device double floor(double x);
``` Description: Supported
```cpp device double fma(double x, double y, double z);
``` Description: Supported
```cpp device double fmax(double x, double y);
``` Description: Supported
```cpp device double fmin(double x, double y);
``` Description: Supported
```cpp device double fmod(double x, double y);
``` Description: Supported
```cpp //__device__ double frexp(double x, int *nptr);
``` Description: NOT Supported
```cpp device double hypot(double x, double y);
``` Description: Supported
```cpp device double ilogb(double x);
``` Description: Supported
```cpp device int isfinite(double x);
``` Description: Supported
```cpp device unsigned isinf(double x);
``` Description: Supported
```cpp device unsigned isnan(double x);
``` Description: Supported
```cpp device double j0(double x);
``` Description: Supported
```cpp device double j1(double x);
``` Description: Supported
```cpp device double jn(int n, double x);
``` Description: Supported
```cpp device double ldexp(double x, int exp);
``` Description: Supported
```cpp device double lgamma(double x);
``` Description: Supported
```cpp device long long llrint(double x);
``` Description: Supported
```cpp device long long llround(double x);
``` Description: Supported
```cpp device double log(double x);
``` Description: Supported
```cpp device double log10(double x);
``` Description: Supported
```cpp device double log1p(double x);
``` Description: Supported
```cpp device double log2(double x);
``` Description: Supported
```cpp device double logb(double x);
``` Description: Supported
```cpp device long int lrint(double x);
``` Description: Supported
```cpp device long int lround(double x);
``` Description: Supported
```cpp //__device__ double modf(double x, double *iptr);
``` Description: NOT Supported
```cpp device double nan(const char* tagp);
``` Description: Supported
```cpp device double nearbyint(double x);
``` Description: Supported
```cpp device double nextafter(double x, double y);
``` Description: Supported
```cpp device double norm(int dim, const double* t);
``` Description: Supported
```cpp device double norm3d(double a, double b, double c);
``` Description: Supported
```cpp device double norm4d(double a, double b, double c, double d);
``` Description: Supported
```cpp device double normcdf(double y);
``` Description: Supported
```cpp device double normcdfinv(double y);
``` Description: Supported
```cpp device double pow(double x, double y);
``` Description: Supported
```cpp device double rcbrt(double x);
``` Description: Supported
```cpp device double remainder(double x, double y);
``` Description: Supported
```cpp //__device__ double remquo(double x, double y, int *quo);
``` Description: NOT Supported
```cpp device double rhypot(double x, double y);
``` Description: Supported
```cpp device double rint(double x);
``` Description: Supported
```cpp device double rnorm(int dim, const double* t);
``` Description: Supported
```cpp device double rnorm3d(double a, double b, double c);
``` Description: Supported
```cpp device double rnorm4d(double a, double b, double c, double d);
``` Description: Supported
```cpp device double round(double x);
``` Description: Supported
```cpp device double rsqrt(double x);
``` Description: Supported
```cpp device double scalbln(double x, long int n);
``` Description: Supported
```cpp device double scalbn(double x, int n);
``` Description: Supported
```cpp device int signbit(double a);
``` Description: Supported
```cpp device double sin(double a);
``` Description: Supported
```cpp device void sincos(double x, double *sptr, double *cptr);
``` Description: Supported
```cpp device void sincospi(double x, double *sptr, double *cptr);
``` Description: Supported
```cpp device double sinh(double x);
``` Description: Supported
```cpp device double sinpi(double x);
``` Description: Supported
```cpp device double sqrt(double x);
``` Description: Supported
```cpp device double tan(double x);
``` Description: Supported
```cpp device double tanh(double x);
``` Description: Supported
```cpp device double tgamma(double x);
``` Description: Supported
```cpp device double trunc(double x);
``` Description: Supported
```cpp device double y0(double x);
``` Description: Supported
```cpp device double y1(double y);
``` Description: Supported
```cpp device double yn(int n, double x);
``` Description: Supported
```cpp device float __cosf(float x);
``` Description: Supported
```cpp device float __exp10f(float x);
``` Description: Supported
```cpp device float __expf(float x);
``` Description: Supported
```cpp device static float __fadd_rd(float x, float y);
``` Description: Unsupported
```cpp device static float __fadd_rn(float x, float y);
``` Description: Unsupported
```cpp device static float __fadd_ru(float x, float y);
``` Description: Unsupported
```cpp device static float __fadd_rz(float x, float y);
``` Description: Unsupported
```cpp device static float __fdiv_rd(float x, float y);
``` Description: Unsupported
```cpp device static float __fdiv_rn(float x, float y);
``` Description: Unsupported
```cpp device static float __fdiv_ru(float x, float y);
``` Description: Unsupported
```cpp device static float __fdiv_rz(float x, float y);
``` Description: Unsupported
```cpp device static float __fdividef(float x, float y);
``` Description: Supported
```cpp device float __fmaf_rd(float x, float y, float z);
``` Description: Unsupported
```cpp device float __fmaf_rn(float x, float y, float z);
``` Description: Unsupported
```cpp device float __fmaf_ru(float x, float y, float z);
``` Description: Unsupported
```cpp device float __fmaf_rz(float x, float y, float z);
``` Description: Unsupported
```cpp device static float __fmul_rd(float x, float y);
``` Description: Unsupported
```cpp device static float __fmul_rn(float x, float y);
``` Description: Unsupported
```cpp device static float __fmul_ru(float x, float y);
``` Description: Unsupported
```cpp device static float __fmul_rz(float x, float y);
``` Description: Unsupported
```cpp device float __frcp_rd(float x);
``` Description: Unsupported
```cpp device float __frcp_rn(float x);
``` Description: Unsupported
```cpp device float __frcp_ru(float x);
``` Description: Unsupported
```cpp device float __frcp_rz(float x);
``` Description: Unsupported
```cpp device float __frsqrt_rn(float x);
``` Description: Unsupported
```cpp device float __fsqrt_rd(float x);
``` Description: Unsupported
```cpp device float __fsqrt_rn(float x);
``` Description: Unsupported
```cpp device float __fsqrt_ru(float x);
``` Description: Unsupported
```cpp device float __fsqrt_rz(float x);
``` Description: Unsupported
```cpp device static float __fsub_rd(float x, float y);
``` Description: Unsupported
```cpp device static float __fsub_rn(float x, float y);
``` Description: Unsupported
```cpp device static float __fsub_ru(float x, float y);
``` Description: Unsupported
```cpp device static float __fsub_rz(float x, float y);
``` Description: Unsupported
```cpp device float __log10f(float x);
``` Description: Supported
```cpp device float __log2f(float x);
``` Description: Supported
```cpp device float __logf(float x);
``` Description: Supported
```cpp device float __powf(float base, float exponent);
``` Description: Supported
```cpp device static float __saturatef(float x);
``` Description: Supported
```cpp device void __sincosf(float x, float *s, float *c);
``` Description: Supported
```cpp device float __sinf(float x);
``` Description: Supported
```cpp device float __tanf(float x);
``` Description: Supported
```cpp device static double __dadd_rd(double x, double y);
``` Description: Unsupported
```cpp device static double __dadd_rn(double x, double y);
``` Description: Unsupported
```cpp device static double __dadd_ru(double x, double y);
``` Description: Unsupported
```cpp device static double __dadd_rz(double x, double y);
``` Description: Unsupported
```cpp device static double __ddiv_rd(double x, double y);
``` Description: Unsupported
```cpp device static double __ddiv_rn(double x, double y);
``` Description: Unsupported
```cpp device static double __ddiv_ru(double x, double y);
``` Description: Unsupported
```cpp device static double __ddiv_rz(double x, double y);
``` Description: Unsupported
```cpp device static double __dmul_rd(double x, double y);
``` Description: Unsupported
```cpp device static double __dmul_rn(double x, double y);
``` Description: Unsupported
```cpp device static double __dmul_ru(double x, double y);
``` Description: Unsupported
```cpp device static double __dmul_rz(double x, double y);
``` Description: Unsupported
```cpp device double __drcp_rd(double x);
``` Description: Unsupported
```cpp device double __drcp_rn(double x);
``` Description: Unsupported
```cpp device double __drcp_ru(double x);
``` Description: Unsupported
```cpp device double __drcp_rz(double x);
``` Description: Unsupported
```cpp device double __dsqrt_rd(double x);
``` Description: Unsupported
```cpp device double __dsqrt_rn(double x);
``` Description: Unsupported
```cpp device double __dsqrt_ru(double x);
``` Description: Unsupported
```cpp device double __dsqrt_rz(double x);
``` Description: Unsupported
```cpp device static double __dsub_rd(double x, double y);
``` Description: Unsupported
```cpp device static double __dsub_rn(double x, double y);
``` Description: Unsupported
```cpp device static double __dsub_ru(double x, double y);
``` Description: Unsupported
```cpp device static double __dsub_rz(double x, double y);
``` Description: Unsupported
```cpp device double __fma_rd(double x, double y, double z);
``` Description: Unsupported
```cpp device double __fma_rn(double x, double y, double z);
``` Description: Unsupported
```cpp device double __fma_ru(double x, double y, double z);
``` Description: Unsupported
```cpp device double __fma_rz(double x, double y, double z);
``` Description: Unsupported
```cpp device unsigned int __brev( unsigned int x);
``` Description: Supported
```cpp device unsigned long long int __brevll( unsigned long long int x);
``` Description: Supported
```cpp device unsigned int __byte_perm(unsigned int x, unsigned int y, unsigned int s);
``` Description: Supported
```cpp device unsigned int __clz(int x);
``` Description: Supported
```cpp device unsigned int __clzll(long long int x);
``` Description: Supported
```cpp device unsigned int __ffs(int x);
``` Description: Supported
```cpp device unsigned int __ffsll(long long int x);
``` Description: Supported
```cpp device static unsigned int __hadd(int x, int y);
``` Description: Supported
```cpp device static int __mul24(int x, int y);
``` Description: Supported
```cpp device long long int __mul64hi(long long int x, long long int y);
``` Description: Supported
```cpp device static int __mulhi(int x, int y);
``` Description: Supported
```cpp device unsigned int __popc(unsigned int x);
``` Description: Supported
```cpp device unsigned int __popcll(unsigned long long int x);
``` Description: Supported
```cpp device static int __rhadd(int x, int y);
``` Description: Supported
```cpp device static unsigned int __sad(int x, int y, int z);
``` Description: Supported
```cpp device static unsigned int __uhadd(unsigned int x, unsigned int y);
``` Description: Supported
```cpp device static int __umul24(unsigned int x, unsigned int y);
``` Description: Supported
```cpp device unsigned long long int __umul64hi(unsigned long long int x, unsigned long long int y);
``` Description: Supported
```cpp device static unsigned int __umulhi(unsigned int x, unsigned int y);
``` Description: Supported
```cpp device static unsigned int __urhadd(unsigned int x, unsigned int y);
``` Description: Supported
```cpp device static unsigned int __usad(unsigned int x, unsigned int y, unsigned int z);
``` Description: Supported
```cpp device float __double2float_rd(double x);
``` Description: Supported
```cpp device float __double2float_rn(double x);
``` Description: Supported
```cpp device float __double2float_ru(double x);
``` Description: Supported
```cpp device float __double2float_rz(double x);
``` Description: Supported
```cpp device int __double2hiint(double x);
``` Description: Supported
```cpp device int __double2int_rd(double x);
``` Description: Supported
```cpp device int __double2int_rn(double x);
``` Description: Supported
```cpp device int __double2int_ru(double x);
``` Description: Supported
```cpp device int __double2int_rz(double x);
``` Description: Supported
```cpp device long long int __double2ll_rd(double x);
``` Description: Supported
```cpp device long long int __double2ll_rn(double x);
``` Description: Supported
```cpp device long long int __double2ll_ru(double x);
``` Description: Supported
```cpp device long long int __double2ll_rz(double x);
``` Description: Supported
```cpp device int __double2loint(double x);
``` Description: Supported
```cpp device unsigned int __double2uint_rd(double x);
``` Description: Supported
```cpp device unsigned int __double2uint_rn(double x);
``` Description: Supported
```cpp device unsigned int __double2uint_ru(double x);
``` Description: Supported
```cpp device unsigned int __double2uint_rz(double x);
``` Description: Supported
```cpp device unsigned long long int __double2ull_rd(double x);
``` Description: Supported
```cpp device unsigned long long int __double2ull_rn(double x);
``` Description: Supported
```cpp device unsigned long long int __double2ull_ru(double x);
``` Description: Supported
```cpp device unsigned long long int __double2ull_rz(double x);
``` Description: Supported
```cpp device long long int __double_as_longlong(double x);
``` Description: Supported
```cpp device unsigned short __float2half_rn(float x);
``` Description: Supported
```cpp device float __half2float(unsigned short);
``` Description: Supported
```cpp device __half __float2half_rn(float x);
``` Description: Supported
```cpp device float __half2float(__half);
``` Description: Supported
```cpp device int __float2int_rd(float x);
``` Description: Supported
```cpp device int __float2int_rn(float x);
``` Description: Supported
```cpp device int __float2int_ru(float x);
``` Description: Supported
```cpp device int __float2int_rz(float x);
``` Description: Supported
```cpp device long long int __float2ll_rd(float x);
``` Description: Supported
```cpp device long long int __float2ll_rn(float x);
``` Description: Supported
```cpp device long long int __float2ll_ru(float x);
``` Description: Supported
```cpp device long long int __float2ll_rz(float x);
``` Description: Supported
```cpp device unsigned int __float2uint_rd(float x);
``` Description: Supported
```cpp device unsigned int __float2uint_rn(float x);
``` Description: Supported
```cpp device unsigned int __float2uint_ru(float x);
``` Description: Supported
```cpp device unsigned int __float2uint_rz(float x);
``` Description: Supported
```cpp device unsigned long long int __float2ull_rd(float x);
``` Description: Supported
```cpp device unsigned long long int __float2ull_rn(float x);
``` Description: Supported
```cpp device unsigned long long int __float2ull_ru(float x);
``` Description: Supported
```cpp device unsigned long long int __float2ull_rz(float x);
``` Description: Supported
```cpp device int __float_as_int(float x);
``` Description: Supported
```cpp device unsigned int __float_as_uint(float x);
``` Description: Supported
```cpp device double __hiloint2double(int hi, int lo);
``` Description: Supported
```cpp device double __int2double_rn(int x);
``` Description: Supported
```cpp device float __int2float_rd(int x);
``` Description: Supported
```cpp device float __int2float_rn(int x);
``` Description: Supported
```cpp device float __int2float_ru(int x);
``` Description: Supported
```cpp device float __int2float_rz(int x);
``` Description: Supported
```cpp device float __int_as_float(int x);
``` Description: Supported
```cpp device double __ll2double_rd(long long int x);
``` Description: Supported
```cpp device double __ll2double_rn(long long int x);
``` Description: Supported
```cpp device double __ll2double_ru(long long int x);
``` Description: Supported
```cpp device double __ll2double_rz(long long int x);
``` Description: Supported
```cpp device float __ll2float_rd(long long int x);
``` Description: Supported
```cpp device float __ll2float_rn(long long int x);
``` Description: Supported
```cpp device float __ll2float_ru(long long int x);
``` Description: Supported
```cpp device float __ll2float_rz(long long int x);
``` Description: Supported
```cpp device double __longlong_as_double(long long int x);
``` Description: Supported
```cpp device double __uint2double_rn(int x);
``` Description: Supported
```cpp device float __uint2float_rd(unsigned int x);
``` Description: Supported
```cpp device float __uint2float_rn(unsigned int x);
``` Description: Supported
```cpp device float __uint2float_ru(unsigned int x);
``` Description: Supported
```cpp device float __uint2float_rz(unsigned int x);
``` Description: Supported
```cpp device float __uint_as_float(unsigned int x);
``` Description: Supported
```cpp device double __ull2double_rd(unsigned long long int x);
``` Description: Supported
```cpp device double __ull2double_rn(unsigned long long int x);
``` Description: Supported
```cpp device double __ull2double_ru(unsigned long long int x);
``` Description: Supported
```cpp device double __ull2double_rz(unsigned long long int x);
``` Description: Supported
```cpp device float __ull2float_rd(unsigned long long int x);
``` Description: Supported
```cpp device float __ull2float_rn(unsigned long long int x);
``` Description: Supported
```cpp device float __ull2float_ru(unsigned long long int x);
``` Description: Supported
```cpp device float __ull2float_rz(unsigned long long int x);
``` Description: Supported
```cpp device static __half __hadd(const __half a, const __half b);
``` Description: Supported
```cpp device static __half __hadd_sat(__half a, __half b);
``` Description: Supported
```cpp device static __half __hfma(__half a, __half b, __half c);
``` Description: Supported
```cpp device static __half __hfma_sat(__half a, __half b, __half c);
``` Description: Supported
```cpp device static __half __hmul(__half a, __half b);
``` Description: Supported
```cpp device static __half __hmul_sat(__half a, __half b);
``` Description: Supported
```cpp device static __half __hneg(__half a);
``` Description: Supported
```cpp device static __half __hsub(__half a, __half b);
``` Description: Supported
```cpp device static __half __hsub_sat(__half a, __half b);
``` Description: Supported
```cpp device static __half hdiv(__half a, __half b);
``` Description: Supported
```cpp device static __half2 __hadd2(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half2 __hadd2_sat(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half2 __hfma2(__half2 a, __half2 b, __half2 c);
``` Description: Supported
```cpp device static __half2 __hfma2_sat(__half2 a, __half2 b, __half2 c);
``` Description: Supported
```cpp device static __half2 __hmul2(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half2 __hmul2_sat(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half2 __hsub2(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half2 __hneg2(__half2 a);
``` Description: Supported
```cpp device static __half2 __hsub2_sat(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half2 h2div(__half2 a, __half2 b);
``` Description: Supported
```cpp device bool __heq(__half a, __half b);
``` Description: Supported
```cpp device bool __hge(__half a, __half b);
``` Description: Supported
```cpp device bool __hgt(__half a, __half b);
``` Description: Supported
```cpp device bool __hisinf(__half a);
``` Description: Supported
```cpp device bool __hisnan(__half a);
``` Description: Supported
```cpp device bool __hle(__half a, __half b);
``` Description: Supported
```cpp device bool __hlt(__half a, __half b);
``` Description: Supported
```cpp device bool __hne(__half a, __half b);
``` Description: Supported
```cpp device bool __hbeq2(__half2 a, __half2 b);
``` Description: Supported
```cpp device bool __hbge2(__half2 a, __half2 b);
``` Description: Supported
```cpp device bool __hbgt2(__half2 a, __half2 b);
``` Description: Supported
```cpp device bool __hble2(__half2 a, __half2 b);
``` Description: Supported
```cpp device bool __hblt2(__half2 a, __half2 b);
``` Description: Supported
```cpp device bool __hbne2(__half2 a, __half2 b);
``` Description: Supported
```cpp device __half2 __heq2(__half2 a, __half2 b);
``` Description: Supported
```cpp device __half2 __hge2(__half2 a, __half2 b);
``` Description: Supported
```cpp device __half2 __hgt2(__half2 a, __half2 b);
``` Description: Supported
```cpp device __half2 __hisnan2(__half2 a);
``` Description: Supported
```cpp device __half2 __hle2(__half2 a, __half2 b);
``` Description: Supported
```cpp device __half2 __hlt2(__half2 a, __half2 b);
``` Description: Supported
```cpp device __half2 __hne2(__half2 a, __half2 b);
``` Description: Supported
```cpp device static __half hceil(const __half h);
``` Description: Supported
```cpp device static __half hcos(const __half h);
``` Description: Supported
```cpp device static __half hexp(const __half h);
``` Description: Supported
```cpp device static __half hexp10(const __half h);
``` Description: Supported
```cpp device static __half hexp2(const __half h);
``` Description: Supported
```cpp device static __half hfloor(const __half h);
``` Description: Supported
```cpp device static __half hlog(const __half h);
``` Description: Supported
```cpp device static __half hlog10(const __half h);
``` Description: Supported
```cpp device static __half hlog2(const __half h);
``` Description: Supported
```cpp //__device__ static __half hrcp(const __half h);
``` Description: NOT Supported
```cpp device static __half hrint(const __half h);
``` Description: Supported
```cpp device static __half hsin(const __half h);
``` Description: Supported
```cpp device static __half hsqrt(const __half a);
``` Description: Supported
```cpp device static __half htrunc(const __half a);
``` Description: Supported
```cpp device static __half2 h2ceil(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2exp(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2exp10(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2exp2(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2floor(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2log(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2log10(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2log2(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2rcp(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2rsqrt(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2sin(const __half2 h);
``` Description: Supported
```cpp device static __half2 h2sqrt(const __half2 h);
``` Description: Supported
```cpp device __half2 __float22half2_rn(const float2 a);
``` Description: Supported
```cpp device __half __float2half(const float a);
``` Description: Supported
```cpp device __half2 __float2half2_rn(const float a);
``` Description: Supported
```cpp device __half __float2half_rd(const float a);
``` Description: Supported
```cpp device __half __float2half_rn(const float a);
``` Description: Supported
```cpp device __half __float2half_ru(const float a);
``` Description: Supported
```cpp device __half __float2half_rz(const float a);
``` Description: Supported
```cpp device __half2 __floats2half2_rn(const float a, const float b);
``` Description: Supported
```cpp device float2 __half22float2(const __half2 a);
``` Description: Supported
```cpp device float __half2float(const __half a);
``` Description: Supported
```cpp device __half2 half2half2(const __half a);
``` Description: Supported
```cpp device int __half2int_rd(__half h);
``` Description: Supported
```cpp device int __half2int_rn(__half h);
``` Description: Supported
```cpp device int __half2int_ru(__half h);
``` Description: Supported
```cpp device int __half2int_rz(__half h);
``` Description: Supported
```cpp device long long int __half2ll_rd(__half h);
``` Description: Supported
```cpp device long long int __half2ll_rn(__half h);
``` Description: Supported
```cpp device long long int __half2ll_ru(__half h);
``` Description: Supported
```cpp device long long int __half2ll_rz(__half h);
``` Description: Supported
```cpp device short __half2short_rd(__half h);
``` Description: Supported
```cpp device short __half2short_rn(__half h);
``` Description: Supported
```cpp device short __half2short_ru(__half h);
``` Description: Supported
```cpp device short __half2short_rz(__half h);
``` Description: Supported
```cpp device unsigned int __half2uint_rd(__half h);
``` Description: Supported
```cpp device unsigned int __half2uint_rn(__half h);
``` Description: Supported
```cpp device unsigned int __half2uint_ru(__half h);
``` Description: Supported
```cpp device unsigned int __half2uint_rz(__half h);
``` Description: Supported
```cpp device unsigned long long int __half2ull_rd(__half h);
``` Description: Supported
```cpp device unsigned long long int __half2ull_rn(__half h);
``` Description: Supported
```cpp device unsigned long long int __half2ull_ru(__half h);
``` Description: Supported
```cpp device unsigned long long int __half2ull_rz(__half h);
``` Description: Supported
```cpp device unsigned short int __half2ushort_rd(__half h);
``` Description: Supported
```cpp device unsigned short int __half2ushort_rn(__half h);
``` Description: Supported
```cpp device unsigned short int __half2ushort_ru(__half h);
``` Description: Supported
```cpp device unsigned short int __half2ushort_rz(__half h);
``` Description: Supported
```cpp device short int __half_as_short(const __half h);
``` Description: Supported
```cpp device unsigned short int __half_as_ushort(const __half h);
``` Description: Supported
```cpp device __half2 __halves2half2(const __half a, const __half b);
``` Description: Supported
```cpp device float __high2float(const __half2 a);
``` Description: Supported
```cpp device __half __high2half(const __half2 a);
``` Description: Supported
```cpp device __half2 __high2half2(const __half2 a);
``` Description: Supported
```cpp device __half2 __highs2half2(const __half2 a, const __half2 b);
``` Description: Supported
```cpp device __half __int2half_rd(int i);
``` Description: Supported
```cpp device __half __int2half_rn(int i);
``` Description: Supported
```cpp device __half __int2half_ru(int i);
``` Description: Supported
```cpp device __half __int2half_rz(int i);
``` Description: Supported
```cpp device __half __ll2half_rd(long long int i);
``` Description: Supported
```cpp device __half __ll2half_rn(long long int i);
``` Description: Supported
```cpp device __half __ll2half_ru(long long int i);
``` Description: Supported
```cpp device __half __ll2half_rz(long long int i);
``` Description: Supported
```cpp device float __low2float(const __half2 a);
``` Description: Supported
```cpp device __half __low2half(const __half2 a);
``` Description: Supported
```cpp device __half2 __low2half2(const __half2 a, const __half2 b);
``` Description: Supported
```cpp device __half2 __low2half2(const __half2 a);
``` Description: Supported
```cpp device __half2 __lowhigh2highlow(const __half2 a);
``` Description: Supported
```cpp device __half2 __lows2half2(const __half2 a, const __half2 b);
``` Description: Supported
```cpp device __half __short2half_rd(short int i);
``` Description: Supported
```cpp device __half __short2half_rn(short int i);
``` Description: Supported
```cpp device __half __short2half_ru(short int i);
``` Description: Supported
```cpp device __half __short2half_rz(short int i);
``` Description: Supported
```cpp device __half __uint2half_rd(unsigned int i);
``` Description: Supported
```cpp device __half __uint2half_rn(unsigned int i);
``` Description: Supported
```cpp device __half __uint2half_ru(unsigned int i);
``` Description: Supported
```cpp device __half __uint2half_rz(unsigned int i);
``` Description: Supported
```cpp device __half __ull2half_rd(unsigned long long int i);
``` Description: Supported
```cpp device __half __ull2half_rn(unsigned long long int i);
``` Description: Supported
```cpp device __half __ull2half_ru(unsigned long long int i);
``` Description: Supported
```cpp device __half __ull2half_rz(unsigned long long int i);
``` Description: Supported
```cpp device __half __ushort2half_rd(unsigned short int i);
``` Description: Supported
```cpp device __half __ushort2half_rn(unsigned short int i);
``` Description: Supported
```cpp device __half __ushort2half_ru(unsigned short int i);
``` Description: Supported
```cpp device __half __ushort2half_rz(unsigned short int i);
``` Description: Supported
```cpp device __half __ushort_as_half(const unsigned short int i);
``` Description: Supported
1.8.5