Skip to content

Commit 5bebef5

Browse files
committed
Support atomic fence queries
1 parent 9b93cb1 commit 5bebef5

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

source/adapters/native_cpu/device.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,11 +292,23 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(ur_device_handle_t hDevice,
292292
case UR_DEVICE_INFO_MEMORY_CLOCK_RATE:
293293
case UR_DEVICE_INFO_MEMORY_BUS_WIDTH:
294294
return UR_RESULT_ERROR_INVALID_VALUE;
295+
case UR_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES: {
296+
// Currently for Native CPU fences are implemented using OCK
297+
// builtins, so we have different capabilities than atomic operations
298+
ur_memory_order_capability_flags_t Capabilities =
299+
UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED |
300+
UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE |
301+
UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE |
302+
UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL |
303+
UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST;
304+
return ReturnValue(Capabilities);
305+
}
295306
case UR_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: {
296307
ur_memory_order_capability_flags_t Capabilities =
297308
UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED;
298309
return ReturnValue(Capabilities);
299310
}
311+
case UR_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES:
300312
case UR_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: {
301313
uint64_t Capabilities = UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM |
302314
UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP |

0 commit comments

Comments
 (0)