Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding a copy button to the source view. #750

Merged
merged 1 commit into from
Mar 13, 2024

Conversation

benvanik
Copy link
Contributor

This matches the button in the call stack view:
image

The source content data is not guaranteed to have a NUL terminator but the ImGui clipboard API requires one so a copy is performed from the source data on-demand.

@benvanik benvanik marked this pull request as ready for review March 13, 2024 16:59
@wolfpld wolfpld merged commit 14206b5 into wolfpld:master Mar 13, 2024
5 checks passed
benvanik added a commit to iree-org/iree that referenced this pull request Mar 14, 2024
This adds a new `CaptureExecutableSourcesPass` that allows for capture
of individual `hal.executable.variant` ops at any number of compilation
stages. Unlike the `DumpExecutableSourcesPass` this does not change the
original source locations in the IR and instead captures both the
textual IR and the remapped locations within it of each executable
export at the time the pass is run. The textual IR is stored as
resources and associated with the variants through linking and made
available to serialization for embedding in target-specific formats.

Because this increases compilation time (generating all of the sources
multiple times per executable is expensive) and bloats binaries the
capture is only enabled with the `--iree-hal-executable-debug-level=3`
or greater flag set (default is `=2`).

As part of this PR the CPU, Vulkan, and legacy ROCM formats have been
updated to store the new information and source it at runtime. This is a
breaking change to the executable library binary format. I'm not quite
happy with it, but it's probably good enough for the next 6mo-1yr.

To make this more usable a copy button has been added to the tracy
source view: wolfpld/tracy#750
Now clicking on a dispatch in the CPU or GPU timeline will show the
source and the copy button can be used to get it in the clipboard. The
source can then be run through `iree-compile
--compile-mode=hal-executable` to generate binaries.

![image](https://github.com/openxla/iree/assets/75337/e690e1f8-52a7-40db-a3aa-5fd7e781791b)

Fixes #15699. Closes #16223.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants