-
Notifications
You must be signed in to change notification settings - Fork 62
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
NVTX: Use RangePush and Domain #293
NVTX: Use RangePush and Domain #293
Conversation
@evanramos-nvidia thanks for the PR. can you briefly explain me how Domains manifest in Nsight timelines? I was trying to find the domain name of my ranges, but couldn't, probably because I'm not using the latest Nsight? |
src/core/runtime/runtime.cc
Outdated
@@ -76,6 +80,10 @@ static const char* const core_library_name = "legate.core"; | |||
|
|||
const char* sync_stream_view = getenv("LEGATE_SYNC_STREAM_VIEW"); | |||
if (sync_stream_view != nullptr && atoi(sync_stream_view) > 0) synchronize_stream_view = true; | |||
|
|||
#ifdef LEGATE_USE_CUDA | |||
nvtx::Range::initialize(core_library_name); |
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.
I think we would want a separate Domain
per Legate library, instead of putting all ranges under the same domain. A prerequisite for that is a centralized registry of all legate libraries, which doesn't exist in this branch. we can certainly merge this PR and tackle the issue in a follow-on PR, as the registry can take some time to implement properly.
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.
After consulting with @jcohen-nvidia, we think your idea would be better suited to the Categories feature in NVTX rather than creating separate domains, which would come with a performance cost and also complicate the implementation of a toggle switch for tracing Legate in Nsight Systems.
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.
I repeat here what I said in the meeting to remind ourselves: I still think each of Legate libraries should have a separate Domain
, as they are physically different libraries with separate APIs that the user may or may not choose to trace, and each library might want to use its own set of categories for the domain operations. We can merge this PR as-is for now and I can make a follow-on PR for a per-library Domain
(which would naturally fit to this LibraryContext
: https://github.com/nv-legate/legate.core/blob/branch-22.07/src/core/runtime/context.h#L65-L105).
No problem! Domains are listed on the left side of the timeline view. I've highlighted one of the instances of the Legate domain in this screenshot: |
1418ecc
to
49f730f
Compare
I updated my branch to use |
3aa3f56
to
55bdef4
Compare
This reverts commit 07e86ed.
…#293) * Enforce the C++ standards versions, which somehow got lost previously * add warning message about user setting CMAKE_CXX_STANDARD themselves
This branch makes two changes: