@@ -1003,27 +1003,15 @@ pi_result cuda_piContextGetInfo(pi_context context, pi_context_info param_name,
1003
1003
case PI_CONTEXT_INFO_REFERENCE_COUNT:
1004
1004
return getInfo (param_value_size, param_value, param_value_size_ret,
1005
1005
context->get_reference_count ());
1006
- case PI_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: {
1007
- pi_memory_order_capabilities capabilities =
1008
- PI_MEMORY_ORDER_RELAXED | PI_MEMORY_ORDER_ACQUIRE |
1009
- PI_MEMORY_ORDER_RELEASE | PI_MEMORY_ORDER_ACQ_REL;
1010
- return getInfo (param_value_size, param_value, param_value_size_ret,
1011
- capabilities);
1012
- }
1013
- case PI_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: {
1014
- int major = 0 ;
1015
- sycl::detail::pi::assertion (
1016
- cuDeviceGetAttribute (&major,
1017
- CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR,
1018
- context->get_device ()->get ()) == CUDA_SUCCESS);
1019
- pi_memory_order_capabilities capabilities =
1020
- (major >= 7 ) ? PI_MEMORY_SCOPE_WORK_ITEM | PI_MEMORY_SCOPE_SUB_GROUP |
1021
- PI_MEMORY_SCOPE_WORK_GROUP | PI_MEMORY_SCOPE_DEVICE |
1022
- PI_MEMORY_SCOPE_SYSTEM
1023
- : PI_MEMORY_SCOPE_WORK_ITEM | PI_MEMORY_SCOPE_SUB_GROUP |
1024
- PI_MEMORY_SCOPE_WORK_GROUP | PI_MEMORY_SCOPE_DEVICE;
1025
- return getInfo (param_value_size, param_value, param_value_size_ret,
1026
- capabilities);
1006
+ case PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES:
1007
+ case PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
1008
+ case PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
1009
+ case PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
1010
+ // These queries should be dealt with in context_impl.cpp by calling the
1011
+ // queries of each device separately and building the intersection set.
1012
+ setErrorMessage (" These queries should have never come here." ,
1013
+ PI_ERROR_INVALID_ARG_VALUE);
1014
+ return PI_ERROR_PLUGIN_SPECIFIC_ERROR;
1027
1015
}
1028
1016
case PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT:
1029
1017
return getInfo<pi_bool>(param_value_size, param_value, param_value_size_ret,
@@ -1293,14 +1281,14 @@ pi_result cuda_piDeviceGetInfo(pi_device device, pi_device_info param_name,
1293
1281
return getInfo (param_value_size, param_value, param_value_size_ret,
1294
1282
atomic64);
1295
1283
}
1296
- case PI_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES : {
1284
+ case PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES : {
1297
1285
pi_memory_order_capabilities capabilities =
1298
1286
PI_MEMORY_ORDER_RELAXED | PI_MEMORY_ORDER_ACQUIRE |
1299
1287
PI_MEMORY_ORDER_RELEASE | PI_MEMORY_ORDER_ACQ_REL;
1300
1288
return getInfo (param_value_size, param_value, param_value_size_ret,
1301
1289
capabilities);
1302
1290
}
1303
- case PI_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES : {
1291
+ case PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES : {
1304
1292
int major = 0 ;
1305
1293
sycl::detail::pi::assertion (
1306
1294
cuDeviceGetAttribute (&major,
@@ -1315,6 +1303,12 @@ pi_result cuda_piDeviceGetInfo(pi_device device, pi_device_info param_name,
1315
1303
return getInfo (param_value_size, param_value, param_value_size_ret,
1316
1304
capabilities);
1317
1305
}
1306
+ case PI_EXT_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
1307
+ case PI_EXT_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES:
1308
+ // There is no way to query this in the backend
1309
+ setErrorMessage (" CUDA backend does not support this query" ,
1310
+ PI_ERROR_INVALID_ARG_VALUE);
1311
+ return PI_ERROR_PLUGIN_SPECIFIC_ERROR;
1318
1312
case PI_EXT_ONEAPI_DEVICE_INFO_BFLOAT16_MATH_FUNCTIONS: {
1319
1313
int major = 0 ;
1320
1314
sycl::detail::pi::assertion (
0 commit comments