@@ -107,11 +107,13 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(ur_device_handle_t hDevice,
107107 }
108108 // Unimplemented features
109109 case UR_DEVICE_INFO_PROGRAM_SET_SPECIALIZATION_CONSTANTS :
110+ case UR_DEVICE_INFO_KERNEL_SET_SPECIALIZATION_CONSTANTS :
110111 case UR_DEVICE_INFO_USM_POOL_SUPPORT :
111112 case UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP :
112113 case UR_DEVICE_INFO_IMAGE_SUPPORT :
113114 case UR_DEVICE_INFO_VIRTUAL_MEMORY_SUPPORT :
114115 case UR_DEVICE_INFO_MEM_CHANNEL_SUPPORT :
116+ case UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORT :
115117 // TODO: Atomic queries in Offload
116118 case UR_DEVICE_INFO_ATOMIC_64 :
117119 case UR_DEVICE_INFO_IMAGE_SRGB :
@@ -134,6 +136,71 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(ur_device_handle_t hDevice,
134136 }
135137 return UR_RESULT_SUCCESS ;
136138 }
139+ case UR_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES : {
140+ return ReturnValue (0u );
141+ }
142+ case UR_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN : {
143+ return ReturnValue (0u );
144+ }
145+ case UR_DEVICE_INFO_PARTITION_TYPE : {
146+ if (pPropSizeRet) {
147+ *pPropSizeRet = 0 ;
148+ }
149+ return UR_RESULT_SUCCESS ;
150+ }
151+ case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR : {
152+ return ReturnValue (1u );
153+ }
154+ case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT : {
155+ return ReturnValue (1u );
156+ }
157+ case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT : {
158+ return ReturnValue (1u );
159+ }
160+ case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG : {
161+ return ReturnValue (1u );
162+ }
163+ case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT : {
164+ return ReturnValue (1u );
165+ }
166+ case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE : {
167+ return ReturnValue (1u );
168+ }
169+ case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR : {
170+ return ReturnValue (1u );
171+ }
172+ case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT : {
173+ return ReturnValue (1u );
174+ }
175+ case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT : {
176+ return ReturnValue (1u );
177+ }
178+ case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG : {
179+ return ReturnValue (1u );
180+ }
181+ case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT : {
182+ return ReturnValue (1u );
183+ }
184+ case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE : {
185+ return ReturnValue (1u );
186+ }
187+ case UR_DEVICE_INFO_SINGLE_FP_CONFIG :
188+ case UR_DEVICE_INFO_DOUBLE_FP_CONFIG : {
189+ // This minimal set of flags will at least signal to sycl that we support
190+ // the basic FP types.
191+ ur_device_fp_capability_flags_t SupportedFlags =
192+ UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN |
193+ UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST ;
194+ return ReturnValue (SupportedFlags);
195+ }
196+ case UR_DEVICE_INFO_AVAILABLE : {
197+ return ReturnValue (ur_bool_t {true });
198+ }
199+ case UR_DEVICE_INFO_BUILT_IN_KERNELS : {
200+ // An empty string is returned if no built-in kernels are supported by the
201+ // device.
202+ return ReturnValue (" " );
203+ }
137204 default :
138205 return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION ;
139206 }
0 commit comments