-
Notifications
You must be signed in to change notification settings - Fork 58
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
Use registered strings for NVTX. Add more NVTX annotations. #518
Use registered strings for NVTX. Add more NVTX annotations. #518
Conversation
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.
Thanks @kingcrimsontianyu, looks good to me.
PS: the current CI error in test_read_access(s3_base)
is not related to your changes. I will work on a fix tomorrow,
@kingcrimsontianyu could you add a description in the docs on how to generate the histograms? They are very cool! |
@madsbk Sure! The histogram is generated by a Python script. I can make a separate PR and update the doc. Is |
Yes, that would be great! |
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.
Nice work @kingcrimsontianyu
/merge |
This PR makes some improvements on NVTX annotations in KvikIO, including:
KVIKIO_NVTX_FUNC_RANGE(...)
is used for both the function range and arbitrary scoped range. However, the macro is somewhat a misnomer for the latter case, where__func__
is not used in the message. This PR introducesKVIKIO_NVTX_SCOPED_RANGE(msg, val)
for the latter case.KVIKIO_NVTX_MARKER(message, payload)
to annotate an instantaneous event. One use case is to characterize asynchronous I/O operations (where the scoped range in a function does not apply): Once the profile is collected, thensys-rep
file can be exported, for instance, as asqlite
, and the marker data can be used to make a I/O-size histogram. As an example, forPARQUET_READER_NVBENCH---parquet_read_io_compression
, the following I/O statistics can be obtained.This histogram is generated using the Python script
python/kvikio/examples/kvikio_stat.py
. PR link: TBD...