SkePU  1.2
 All Classes Namespaces Files Functions Variables Enumerations Friends Macros Groups Pages
deviceprop_cl.h
Go to the documentation of this file.
1 
5 #ifndef DEVICEPROP_CL_H
6 #define DEVICEPROP_CL_H
7 
8 #ifdef SKEPU_OPENCL
9 
10 #ifdef USE_MAC_OPENCL
11 #include <OpenCL/opencl.h>
12 #else
13 #include <CL/cl.h>
14 #endif
15 #include <vector>
16 
17 namespace skepu
18 {
19 
30 {
31  cl_device_info param_name;
32  size_t param_value_size;
33  void* param_value;
34 };
35 
47 {
49  {
50  openclGenProp temp;
51 
52  temp.param_name = CL_DEVICE_ADDRESS_BITS;
53  temp.param_value_size = sizeof(cl_uint);
54  temp.param_value = (void*)&DEVICE_ADDRESS_BITS;
55  propertyList.push_back(temp);
56 
57  temp.param_name = CL_DEVICE_MAX_WORK_GROUP_SIZE;
58  temp.param_value_size = sizeof(size_t);
59  temp.param_value = (void*)&DEVICE_MAX_WORK_GROUP_SIZE;
60  propertyList.push_back(temp);
61 
62  temp.param_name = CL_DEVICE_MAX_COMPUTE_UNITS;
63  temp.param_value_size = sizeof(cl_uint);
64  temp.param_value = (void*)&DEVICE_MAX_COMPUTE_UNITS;
65  propertyList.push_back(temp);
66 
67  temp.param_name = CL_DEVICE_GLOBAL_MEM_SIZE;
68  temp.param_value_size = sizeof(cl_ulong);
69  temp.param_value = (void*)&DEVICE_GLOBAL_MEM_SIZE;
70  propertyList.push_back(temp);
71 
72  temp.param_name = CL_DEVICE_LOCAL_MEM_SIZE;
73  temp.param_value_size = sizeof(cl_ulong);
74  temp.param_value = (void*)&DEVICE_LOCAL_MEM_SIZE;
75  propertyList.push_back(temp);
76  }
77 
78  std::vector<openclGenProp> propertyList;
79 
80  cl_uint DEVICE_ADDRESS_BITS;
81  cl_bool DEVICE_AVAILABLE;
82  cl_bool DEVICE_COMPILER_AVAILABLE;
83  cl_device_fp_config DEVICE_DOUBLE_FP_CONFIG;
84  cl_bool DEVICE_ENDIAN_LITTLE;
85  cl_bool DEVICE_ERROR_CORRECTION_SUPPORT;
86  cl_device_exec_capabilities DEVICE_EXECUTION_CAPABILITIES;
87  char* DEVICE_EXTENSIONS;
88  cl_ulong DEVICE_GLOBAL_MEM_CACHE_SIZE;
89  cl_device_mem_cache_type DEVICE_GLOBAL_MEM_CACHE_TYPE;
90  cl_uint DEVICE_GLOBAL_MEM_CACHELINE_SIZE;
91  cl_ulong DEVICE_GLOBAL_MEM_SIZE;
92  cl_device_fp_config DEVICE_HALF_FP_CONFIG;
93  cl_bool DEVICE_IMAGE_SUPPORT;
94  size_t DEVICE_IMAGE2D_MAX_HEIGHT;
95  size_t DEVICE_IMAGE2D_MAX_WIDTH;
96  size_t DEVICE_IMAGE3D_MAX_DEPTH;
97  size_t DEVICE_IMAGE3D_MAX_HEIGHT;
98  size_t DEVICE_IMAGE3D_MAX_WIDTH;
99  cl_ulong DEVICE_LOCAL_MEM_SIZE;
100  cl_device_local_mem_type DEVICE_LOCAL_MEM_TYPE;
101  cl_uint DEVICE_MAX_CLOCK_FREQUENCY;
102  cl_uint DEVICE_MAX_COMPUTE_UNITS;
103  cl_uint DEVICE_MAX_CONSTANT_ARGS;
104  cl_ulong DEVICE_MAX_CONSTANT_BUFFER_SIZE;
105  cl_ulong DEVICE_MAX_MEM_ALLOC_SIZE;
106  size_t DEVICE_MAX_PARAMETER_SIZE;
107  cl_uint DEVICE_MAX_READ_IMAGE_ARGS;
108  cl_uint DEVICE_MAX_SAMPLERS;
109  size_t DEVICE_MAX_WORK_GROUP_SIZE;
110  cl_uint DEVICE_MAX_WORK_ITEM_DIMENSIONS;
111  size_t DEVICE_MAX_WORK_ITEM_SIZES[3];
112  cl_uint DEVICE_MAX_WRITE_IMAGE_ARGS;
113  cl_uint DEVICE_MEM_BASE_ADDR_ALIGN;
114  cl_uint DEVICE_MIN_DATA_TYPE_ALIGN_SIZE;
115  char* DEVICE_NAME;
116  cl_platform_id DEVICE_PLATFORM;
117  cl_uint DEVICE_PREFERRED_VECTOR_WIDTH_CHAR;
118  cl_uint DEVICE_PREFERRED_VECTOR_WIDTH_SHORT;
119  cl_uint DEVICE_PREFERRED_VECTOR_WIDTH_INT;
120  cl_uint DEVICE_PREFERRED_VECTOR_WIDTH_LONG;
121  cl_uint DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT;
122  cl_uint DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE;
123  char* DEVICE_PROFILE;
124  size_t DEVICE_PROFILING_TIMER_RESOLUTION;
125  cl_command_queue_properties DEVICE_QUEUE_PROPERTIES;
126  cl_device_fp_config DEVICE_SINGLE_FP_CONFIG;
127  cl_device_type DEVICE_TYPE;
128  char* DEVICE_VENDOR;
129  cl_uint DEVICE_VENDOR_ID;
130  char* DEVICE_VERSION;
131  char* DRIVER_VERSION;
132 };
133 
134 }
135 
136 #endif
137 
138 #endif
139 
140 
Definition: deviceprop_cl.h:46
Definition: deviceprop_cl.h:29