Skip to content

Conversation

@solidpixel
Copy link
Contributor

@solidpixel solidpixel commented Dec 2, 2024

This PR adds a new layer used for exporting semantic information about running workloads for Arm GPU timeline visualization.

Task list

The task list for this layer is shown below. Where possible we'll split these off into smaller PRs to make merges more manageable and then rebase this PR on top.

  • Implement network comms module for sending data to the host.
  • Implement prototype server to capture data on the host.
  • Enable VK_EXT_debug_utils extension for debug markers if app hasn't enabled it already.
  • Add metadata generation for transfer workloads.
  • Add metadata generation tracking for compute workloads.
  • Improve error reporting for devices that are not compatible.
  • Emit transfer sizes in pixels/bytes.
  • Correctly detect and emit not supported placeholder values for corner-case usage.
    • Not supported: Dynamic render passes from Vulkan 1.3 that are split across command buffers where the start piece is not one-time submit.
    • Indirect compute workloads have an unknown dispatch size.

To be handled in follow-on PRs:

  • Track VkImage and VkBuffer resources so we can emit sizes for transfers.
  • Improve the prototype Python host server to make it production ready.
  • Add metadata protocol support for an arbitrary user string in addition to the label to allow users to expand the visualization in Streamline by modifying the layer.
  • Optimize if performance is an issue
    • Currently we use JSON as it was sufficient for rapid prototyping - should be replaced with a simple binary packet encoding to avoid the memory allocation churn.

@solidpixel solidpixel marked this pull request as draft December 2, 2024 15:04
@solidpixel solidpixel force-pushed the semantics branch 7 times, most recently from cf6b36d to c4096f2 Compare December 4, 2024 21:10
@solidpixel solidpixel force-pushed the semantics branch 13 times, most recently from fa758c4 to f829962 Compare December 10, 2024 21:59
@solidpixel solidpixel force-pushed the main branch 2 times, most recently from ab3836c to 9160898 Compare December 11, 2024 10:49
@solidpixel solidpixel force-pushed the semantics branch 3 times, most recently from 75ae9ad to c6e5ca8 Compare December 11, 2024 11:22
@solidpixel solidpixel marked this pull request as ready for review December 13, 2024 11:47
@solidpixel solidpixel merged commit 7cc743a into main Dec 13, 2024
5 checks passed
@solidpixel solidpixel deleted the semantics branch December 13, 2024 11:49
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