28 #ifndef HIP_INCLUDE_HIP_HCC_DETAIL_DEVICE_LIBRARY_DECLS_H 29 #define HIP_INCLUDE_HIP_HCC_DETAIL_DEVICE_LIBRARY_DECLS_H 33 typedef unsigned char uchar;
34 typedef unsigned short ushort;
35 typedef unsigned int uint;
36 typedef unsigned long ulong;
38 extern "C" __device__
__attribute__((
const)) bool __ockl_wfany_i32(
int);
39 extern "C" __device__ __attribute__((const))
bool __ockl_wfall_i32(
int);
40 extern "C" __device__ uint __ockl_activelane_u32(
void);
42 extern "C" __device__ __attribute__((const)) uint __ockl_mul24_u32(uint, uint);
43 extern "C" __device__ __attribute__((const))
int __ockl_mul24_i32(
int,
int);
44 extern "C" __device__ __attribute__((const)) uint __ockl_mul_hi_u32(uint, uint);
45 extern "C" __device__ __attribute__((const))
int __ockl_mul_hi_i32(
int,
int);
46 extern "C" __device__ __attribute__((const)) uint __ockl_sad_u32(uint, uint, uint);
48 extern "C" __device__ __attribute__((const)) uchar __ockl_clz_u8(uchar);
49 extern "C" __device__ __attribute__((const)) ushort __ockl_clz_u16(ushort);
50 extern "C" __device__ __attribute__((const)) uint __ockl_clz_u32(uint);
51 extern "C" __device__ __attribute__((const)) ulong __ockl_clz_u64(ulong);
53 extern "C" __device__ __attribute__((const))
float __ocml_floor_f32(
float);
54 extern "C" __device__ __attribute__((const))
float __ocml_rint_f32(
float);
55 extern "C" __device__ __attribute__((const))
float __ocml_ceil_f32(
float);
56 extern "C" __device__ __attribute__((const))
float __ocml_trunc_f32(
float);
58 extern "C" __device__ __attribute__((const))
float __ocml_fmin_f32(
float,
float);
59 extern "C" __device__ __attribute__((const))
float __ocml_fmax_f32(
float,
float);
62 #define __local __attribute__((address_space(3))) 64 #ifdef __HIP_DEVICE_COMPILE__ 65 __device__
inline static __local
void* __to_local(
unsigned x) {
return (__local
void*)x; }
66 #endif //__HIP_DEVICE_COMPILE__ 68 #if defined(__HCC__) && (__hcc_minor__ < 3) 70 extern "C" __device__
void __llvm_fence_acq_sg(
void);
71 extern "C" __device__
void __llvm_fence_acq_wg(
void);
72 extern "C" __device__
void __llvm_fence_acq_dev(
void);
73 extern "C" __device__
void __llvm_fence_acq_sys(
void);
75 extern "C" __device__
void __llvm_fence_rel_sg(
void);
76 extern "C" __device__
void __llvm_fence_rel_wg(
void);
77 extern "C" __device__
void __llvm_fence_rel_dev(
void);
78 extern "C" __device__
void __llvm_fence_rel_sys(
void);
80 extern "C" __device__
void __llvm_fence_ar_sg(
void);
81 extern "C" __device__
void __llvm_fence_ar_wg(
void);
82 extern "C" __device__
void __llvm_fence_ar_dev(
void);
83 extern "C" __device__
void __llvm_fence_ar_sys(
void);
86 extern "C" __device__
void __llvm_fence_sc_sg(
void);
87 extern "C" __device__
void __llvm_fence_sc_wg(
void);
88 extern "C" __device__
void __llvm_fence_sc_dev(
void);
89 extern "C" __device__
void __llvm_fence_sc_sys(
void);
92 #define __CLK_LOCAL_MEM_FENCE 0x01 93 typedef unsigned __cl_mem_fence_flags;
95 typedef enum __memory_scope {
96 __memory_scope_work_item = __OPENCL_MEMORY_SCOPE_WORK_ITEM,
97 __memory_scope_work_group = __OPENCL_MEMORY_SCOPE_WORK_GROUP,
98 __memory_scope_device = __OPENCL_MEMORY_SCOPE_DEVICE,
99 __memory_scope_all_svm_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES,
100 __memory_scope_sub_group = __OPENCL_MEMORY_SCOPE_SUB_GROUP
104 typedef enum __memory_order
106 __memory_order_relaxed = __ATOMIC_RELAXED,
107 __memory_order_acquire = __ATOMIC_ACQUIRE,
108 __memory_order_release = __ATOMIC_RELEASE,
109 __memory_order_acq_rel = __ATOMIC_ACQ_REL,
110 __memory_order_seq_cst = __ATOMIC_SEQ_CST
114 extern "C" __device__
void 115 __atomic_work_item_fence(__cl_mem_fence_flags, __memory_order, __memory_scope);
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Copies the memory address of symbol symbolName to devPtr.
Definition: hip_fp16_math_fwd.h:53