11 #include <initializer_list> 17 #include <type_traits> 22 #if __KALMAR_ACCELERATOR__ == 2 || __KALMAR_CPU__ == 2 33 extern "C" __attribute__((
const,
hc)) uint32_t hc_get_grid_size(
unsigned int n);
34 extern "C" __attribute__((const,
hc)) uint32_t hc_get_workitem_absolute_id(
unsigned int n);
35 extern "C" __attribute__((const,
hc)) uint32_t hc_get_group_size(
unsigned int n);
36 extern "C" __attribute__((const,
hc)) uint32_t hc_get_workitem_id(
unsigned int n);
37 extern "C" __attribute__((const,
hc)) uint32_t hc_get_num_groups(
unsigned int n);
38 extern "C" __attribute__((const,
hc)) uint32_t hc_get_group_id(
unsigned int n);
40 extern "C" __attribute__((const,amp)) uint32_t amp_get_global_size(
unsigned int n);
41 extern "C" __attribute__((const,amp)) uint32_t amp_get_global_id(
unsigned int n);
42 extern "C" __attribute__((const,amp)) uint32_t amp_get_local_size(
unsigned int n);
43 extern "C" __attribute__((const,amp)) uint32_t amp_get_local_id(
unsigned int n);
44 extern "C" __attribute__((const,amp)) uint32_t amp_get_num_groups(
unsigned int n);
45 extern "C" __attribute__((const,amp)) uint32_t amp_get_group_id(
unsigned int n);
47 #if __KALMAR_ACCELERATOR__ == 2 48 #define tile_static thread_local 50 #define tile_static __attribute__((tile_static)) 53 extern "C" __attribute__((noduplicate,
hc)) void hc_barrier(
unsigned int n);
54 extern "C" __attribute__((noduplicate,amp))
void amp_barrier(
unsigned int n) ;
60 #ifndef CLK_LOCAL_MEM_FENCE 61 #define CLK_LOCAL_MEM_FENCE (1) 64 #ifndef CLK_GLOBAL_MEM_FENCE 65 #define CLK_GLOBAL_MEM_FENCE (2) 80 template<
class T>
operator T *() {
return (T *) _ptr; }
85 #define HCC_BACKEND_AMDGPU (1) namespace for internal classes of Kalmar compiler / runtime
Definition: hc.hpp:42
Definition: hc_defines.h:76
Heterogeneous C++ (HC) namespace.
Definition: grid_launch.h:10