oneapi-src / level-zero-spec

MIT License
18 stars 27 forks source link

how does ZE_COMMAND_LIST_FLAG_RELAXED_ORDERING affect timestamps? #249

Open jandres742 opened 11 months ago

jandres742 commented 11 months ago

When an application uses ZE_COMMAND_LIST_FLAG_RELAXED_ORDERING:

https://spec.oneapi.io/level-zero/latest/core/api.html?highlight=ze_command_list_flag_relaxed_ordering#_CPPv4N22ze_command_list_flag_t37ZE_COMMAND_LIST_FLAG_RELAXED_ORDERINGE

driver may reorder commands (e.g., kernels, copies) between barriers and synchronization primitives.

what does that mean for timestamps? if the commands are reorganized by the driver, must the driver guarantee the timestamps are still returned to the user in the correct timeline ordering, or is up to the user to traverse all timestamps in the list and reordering them? I would expect to be the former, so that way the reordering details are completely hidden from the user, as expected.