@@ -1169,12 +1169,15 @@ clGetDeviceInfo(cl_device_id device,
11691169 case CL_DEVICE_NAME: CL_STRING_CASE ( " GPGPU-Sim" ); break ;
11701170 case CL_DEVICE_GLOBAL_MEM_SIZE: CL_ULONG_CASE ( 1024 *1024 *1024 ); break ;
11711171 case CL_DEVICE_MAX_COMPUTE_UNITS: CL_UINT_CASE ( device->the_device ()->get_config ().num_shader () ); break ;
1172- case CL_DEVICE_MAX_CLOCK_FREQUENCY: CL_UINT_CASE ( device->the_device ()->shader_clock () ); break ;
1172+ case CL_DEVICE_MAX_CLOCK_FREQUENCY: CL_UINT_CASE ( device->the_device ()->shader_clock () / 1000 ); break ;
11731173 case CL_DEVICE_PLATFORM: CL_STRING_CASE (" GPGPU-Sim OpenCL platform" ); break ;
11741174 case CL_DEVICE_VENDOR:CL_STRING_CASE (" GPGPU-Sim.org" ); break ;
1175+ case CL_DEVICE_VENDOR_ID:CL_UINT_CASE ( 0x1337 ); break ;
11751176 case CL_DEVICE_VERSION: CL_STRING_CASE (" OpenCL 1.0" ); break ;
1177+ case CL_DEVICE_OPENCL_C_VERSION: CL_STRING_CASE (" OpenCL C 1.0" ); break ;
11761178 case CL_DRIVER_VERSION: CL_STRING_CASE (" 1.0" ); break ;
11771179 case CL_DEVICE_TYPE: CL_CASE (cl_device_type, CL_DEVICE_TYPE_GPU); break ;
1180+ case CL_DEVICE_PROFILE: CL_STRING_CASE (" FULL_PROFILE" ); break ;
11781181 case CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: CL_INT_CASE ( 3 ); break ;
11791182 case CL_DEVICE_MAX_WORK_ITEM_SIZES:
11801183 if ( param_value && param_value_size < 3 *sizeof (size_t ) ) return CL_INVALID_VALUE; \
@@ -1184,10 +1187,11 @@ clGetDeviceInfo(cl_device_id device,
11841187 ((size_t *)param_value)[1 ] = n_thread_per_shader;
11851188 ((size_t *)param_value)[2 ] = n_thread_per_shader;
11861189 }
1187- if ( param_value_size_ret ) *param_value_size_ret = 3 *sizeof (cl_uint );
1190+ if ( param_value_size_ret ) *param_value_size_ret = 3 *sizeof (size_t );
11881191 break ;
11891192 case CL_DEVICE_MAX_WORK_GROUP_SIZE: CL_INT_CASE ( device->the_device ()->threads_per_core () ); break ;
11901193 case CL_DEVICE_ADDRESS_BITS: CL_INT_CASE ( 32 ); break ;
1194+ case CL_DEVICE_ENDIAN_LITTLE: CL_BOOL_CASE ( CL_TRUE ); break ;
11911195 case CL_DEVICE_AVAILABLE: CL_BOOL_CASE ( CL_TRUE ); break ;
11921196 case CL_DEVICE_COMPILER_AVAILABLE: CL_BOOL_CASE ( CL_TRUE ); break ;
11931197 case CL_DEVICE_IMAGE_SUPPORT: CL_INT_CASE ( CL_TRUE ); break ;
@@ -1209,16 +1213,17 @@ clGetDeviceInfo(cl_device_id device,
12091213 if ( param_value ) buf[0 ]=0 ;
12101214 if ( param_value_size_ret ) *param_value_size_ret = 1 ;
12111215 break ;
1212- case CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: CL_INT_CASE (1 ); break ;
1213- case CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: CL_INT_CASE (1 ); break ;
1214- case CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: CL_INT_CASE (1 ); break ;
1215- case CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: CL_INT_CASE (1 ); break ;
1216- case CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: CL_INT_CASE (1 ); break ;
1217- case CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: CL_INT_CASE (0 ); break ;
1216+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: CL_UINT_CASE (1 ); break ;
1217+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: CL_UINT_CASE (1 ); break ;
1218+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: CL_UINT_CASE (1 ); break ;
1219+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: CL_UINT_CASE (1 ); break ;
1220+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: CL_UINT_CASE (1 ); break ;
1221+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: CL_UINT_CASE (0 ); break ;
1222+ case CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF: CL_UINT_CASE (1 ); break ;
12181223 case CL_DEVICE_SINGLE_FP_CONFIG: CL_INT_CASE (0 ); break ;
12191224 case CL_DEVICE_MEM_BASE_ADDR_ALIGN: CL_INT_CASE (256 *8 ); break ;
12201225 default :
1221- opencl_not_implemented (__my_func__,__LINE__) ;
1226+ return CL_INVALID_VALUE ;
12221227 }
12231228 return CL_SUCCESS;
12241229}
0 commit comments