-
Notifications
You must be signed in to change notification settings - Fork 61
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
Add NVTX tracing support #377
Conversation
Oops, this clearly isn't building when NVTX support isn't enabled, need to fix that. |
e341109
to
690851e
Compare
Build should be working now. Remaining TODOs include:
|
690851e
to
32cd720
Compare
(Force push to 32cd720 is a rebase on master) |
32cd720
to
2473dda
Compare
Resolved some comments from the previous PR. |
2473dda
to
5869612
Compare
5869612
to
2338346
Compare
Updated documentation on |
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.
Please move build-time configuration into config.h, not hardcoded defines which must be manually modified at the top of nvtx.h
2338346
to
8c32c34
Compare
Did this |
There are a few guards that I would like to be refined but feel this can land. Surely we're going to need to iterate on this again. |
8c32c34
to
6d326fc
Compare
6d326fc
to
04d5d66
Compare
Force-push to 04d5d66 is a rebase on master. |
04d5d66
to
e61639d
Compare
Fixed a bug where RDMA segments and eager used same trace, but the latter was never completed. Split eager into a separate trace type for NVTX. |
e61639d
to
a9ab67c
Compare
|
a9ab67c
to
055250e
Compare
Force-push to 055250e: fix broken non-NVTX build |
This doesn't belong here and is likely a copy/paste mistake. It's unclear why this didn't break anything: this could potentially cause very bizarre header inclusions under neuron when tracing is enabled.
Resolve nvToolsExt and hook into configuration. Implementation follows in future commits. Signed-off-by: Eric Raut <[email protected]>
Separate each tracepoint/profiling provider (currently, just the one) into its own header. Signed-off-by: Eric Raut <[email protected]>
For upcoming NVTX support, it will make sense to have separate tracing functions for SENDRECV and RDMA protocols. We might consider placing them in separate files in the future. Signed-off-by: Eric Raut <[email protected]>
Hook nvtx on existing lttng macros. We figured out how to structure this in a way that aligns the required usages of nvtx with cases like NCCL_OFI_TRACE_SEND_WRITE_SEG COMPLETE/START. We use the NVTX start/end API for ranges, and mark API for events. Only supports RDMA protocol for now, SENDRECV protocol NVTX support will be added in the future. Signed-off-by: Eric Raut <[email protected]>
055250e
to
ecc2fdb
Compare
Rebase on master |
Add support for NVTX tracepoints (RDMA protocol only). Enabled at compile-time with
--with-nvtx
.Re-vamped version of #363 from Nick.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.