-
Notifications
You must be signed in to change notification settings - Fork 612
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
Cleaning up GPU executable flatbuffers prior to a larger reworking. #18208
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(tables have Def, structs don't)
It's a HAL executable and will contain multiple kernel libraries.
benvanik
added
hal/vulkan
Runtime Vulkan GPU HAL backend
hal/metal
Runtime Apple Metal HAL backend
hal/cuda
Runtime CUDA HAL backend
hal/webgpu
Runtime WebGPU HAL backend
hal/hip
Runtime HIP HAL backend
labels
Aug 13, 2024
benvanik
force-pushed
the
users/benvanik/gpu-fb-cleanup
branch
from
August 13, 2024 21:15
9de1874
to
a1ba867
Compare
ScottTodd
reviewed
Aug 13, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Batching breaking changes together SGTM. Thanks for the incremental cleanup.
compiler/src/iree/compiler/Dialect/HAL/Utils/ExecutableDebugInfoUtils.h
Outdated
Show resolved
Hide resolved
benvanik
force-pushed
the
users/benvanik/gpu-fb-cleanup
branch
from
August 14, 2024 00:29
a1ba867
to
edc6428
Compare
This also adds source file publishing to all GPU targets. Basic support for export-specific debug info is added but switching targets to use it is left to a future change.
benvanik
force-pushed
the
users/benvanik/gpu-fb-cleanup
branch
from
August 14, 2024 00:37
edc6428
to
81ad118
Compare
I don't expect us to have the same flatbuffers for different HAL implementations and do expect us to have alternative file formats for the same HAL implementation.
benvanik
force-pushed
the
users/benvanik/gpu-fb-cleanup
branch
from
August 14, 2024 01:00
a22f9b6
to
ab732ab
Compare
benvanik
requested review from
ScottTodd
and removed request for
kuhar and
nithinsubbiah
August 14, 2024 01:09
ScottTodd
approved these changes
Aug 14, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
hal/cuda
Runtime CUDA HAL backend
hal/hip
Runtime HIP HAL backend
hal/metal
Runtime Apple Metal HAL backend
hal/vulkan
Runtime Vulkan GPU HAL backend
hal/webgpu
Runtime WebGPU HAL backend
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Besides some renaming the major cleanup here is centralizing debug info at the HAL level and adding some utilities for producing/consuming it. Each target may also include additional target-specific debug info (like source maps in WGSL, etc) but the information useful for uniform tracing across targets is now shared.
Future changes will rip apart the GPU flatbuffers to store things per export instead of many arrays and allow for easier addition of export information by modifying the export tables.
This is a breaking change (barely) and is staged into a branch until all changes are complete and a global HAL version bump can happen as part of the dispatch2 work in #18154.
Progress on #18154.