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

Support multiple devices/queues with tracy #87

Open
9SMTM6 opened this issue Oct 27, 2024 · 3 comments
Open

Support multiple devices/queues with tracy #87

9SMTM6 opened this issue Oct 27, 2024 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@9SMTM6
Copy link

9SMTM6 commented Oct 27, 2024

The way that tracy support is implemented, as least from what I can see, you can't have multiple devices on one profiler. But this is (currently) required to support multiple queues on wgpu side.

Maybe I'm missing something, thus, and for the case I'm right, I wanted to check in with you.

I don't really require this to work, it'd just be a nice to have.

@Wumpf
Copy link
Owner

Wumpf commented Oct 27, 2024

Having multiple devices associated with a singe GpuProfiler won't work because one can't use buffers across devices easily.
But that still shouldn't preclude from sharing the same tracy client between multiple profilers, which might be nice regardelss. That bit should be fairly easy to fix though with some changes in the interface, allowing to take in an existing tracy client plus
Note that create_tracy_gpu_client itself only needs device & queue to establish a rough timestamp mapping, see https://docs.rs/tracy-client/latest/tracy_client/struct.Client.html#method.new_gpu_context
That would be useful regardless and should be split out I think 🤔

@Wumpf Wumpf added enhancement New feature or request help wanted Extra attention is needed labels Oct 27, 2024
@9SMTM6
Copy link
Author

9SMTM6 commented Oct 27, 2024

But that still shouldn't preclude from sharing the same tracy client between multiple profilers, which might be nice regardelss.

Ah, so that's not an issue. Good to know.

That bit should be fairly easy to fix though with some changes in the interface, allowing to take in an existing tracy client plus

TBH I don't know what you mean with that. ATM., as far as I can tell, the interface should probably just work, I just have to invoke it multiple times for each device and queue I want to look at?

@Wumpf
Copy link
Owner

Wumpf commented Oct 28, 2024

Well, the issue is that right now that each GpuProfiler creates a tracy gpu context. You'd want to share a single tracy context across several GpuProfiler instances (one for each device/queue)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants