Skip to content

Conversation

@fabiomestre
Copy link
Contributor

@fabiomestre fabiomestre commented Jun 4, 2024

  • Replaces the signalEvent and the user output event in the command-buffer implementation with counter-based events.
  • Removes the reset-all command-list when the graph is linear

TODO:

  • The waitEvent is still a regular event. Might need to use mutable-command lists to replace it with a counter-based event.
  • Counter-based events are only enabled when the queue associated with the graph is in-order. This is to interact nicely with existing level-zero code that enables counter-based events only for in-order queues (see the function createEventAndAssociateQueue()). This limitation should probably be removed. However, we should check what happens when 2 graphs are submitted simultaneously to an out-of-order queue?
  • Extra testing on intel-llvm might be needed. Probably add UR_L0_USE_DRIVER_COUNTER_BASED_EVENTS=1 to existing tests.
  • Benchmarking to see if this optimizations provides a tangible benefit.

Intel/llvm tests: intel/llvm#14038

- Replaces some of the events in the command-buffer implementation
with counter-based events.
- Remove the reset-all command-list when the graph is linear
@github-actions github-actions bot added level-zero L0 adapter specific issues command-buffer Command Buffer feature addition/changes/specification labels Jun 4, 2024
Copy link
Contributor

@EwanC EwanC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skipping the reset command-list for an linear command-buffer is a nice change that doesn't depend on counter-based events (I think) and that shouldn't be controversial. So I would split that code off as a standalone PR and keep the scope of this PR counter-based event changes.

@martygrant
Copy link
Contributor

Unified Runtime -> intel/llvm Repo Move Notice

Information

The source code of Unified Runtime has been moved to intel/llvm under the unified-runtime top-level directory,
all future development will now be carried out there. This was done in intel/llvm#17043.

The code will be mirrored to oneapi-src/unified-runtime and the specification will continue to be hosted at oneapi-src.github.io/unified-runtime.

The contribution guide has been updated with new instructions for contributing to Unified Runtime.

PR Migration

All open PRs including this one will be labelled auto-close and shall be automatically closed after 30 days.
To allow for some breathing space, this automation will not be enabled until next week (27/02/2025).

Should you wish to continue with your PR you will need to migrate it to intel/llvm.
We have provided a script to help automate this process.


This is an automated comment.

@martygrant
Copy link
Contributor

Unified Runtime -> intel/llvm Repo Move Notice

Following on from the previous notice, we have now enabled workflows to automatically label and close PRs because the Unified Runtime source code has moved to intel/llvm.

This PR has now been marked with the auto-close label and will be automatically closed after 30 days.

Please review the previous notice for more information, including assistance with migrating your PR to intel/llvm.

Should there be a reason for this PR to remain open, manually remove the auto-close label.


This is an automated comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-close command-buffer Command Buffer feature addition/changes/specification level-zero L0 adapter specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants