-
Notifications
You must be signed in to change notification settings - Fork 580
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 pluggable device profiler support #389
Add pluggable device profiler support #389
Conversation
Isn't June 4th 2021 a Friday? |
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.
First round of edits.
If you are interested in attending the design review meeting for this RFC, here are the call details: Time: Thursday, June 3rd, 2021 from 3-4pm PT Meeting participants are expected to read the RFC ahead of time as the meeting will focus on the remaining issues/questions. |
yeah, I'll be there. |
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Thanks for the notify, I have fixed it, and thanks for helping edit the document! |
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
@@ -0,0 +1,440 @@ | |||
# Modular TensorFlow profiler C API |
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.
@deven-amd
Please have a look at this RFC. I think it would be cleaner to have all the GPU profilers consolidated behind a common interface.
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.
Hi @yisitu, I am working closely with Deven in AMD. Please also CC me for further discussions for the TF profiler. Thanks.
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.
Sure!
Design Review Meeting Notes@jzhoulon went through recently resolved comments then started a discussion on the design alternative. @jzhoulon: Could you please clarify the design alternative?
@jbaiocchi: What about a C++ boundary?
@jzhoulon: That wouldn’t work for us. Users should be able to just install plug-ins (alongside the default tensorflow package) and everything works. @jbaiocchi: The @aselle: Does the mechanism allow multiple profilers? @jbaiocchi: Having two levels of plug-ins within TF doesn’t convince me.
@aselle: Binary protocol is well-defined. @jbaiocchi: Is there a fundamental reason for having multiple interfaces? Two-level registration worries me.
@aselle: Flatter hierarchy would be good, although the 2-level hierarchy shouldn’t introduce any extra limitations either.
@aselle: Do we have a way to initialize different things right now? The current profiler factory is not like that. @aselle: So pluggable profiler can be a subclass of
@jianhuili: Right now PluggableDevices use two strings, @aselle: @aselle: For collection calls, there are two function pointers. Can we separate them into 4 functions? @aselle: What is the difference between using @aselle: There are two use cases for @jzhoulon: Many device event summary pattern-matches strings, e.g., in ClassifyGpuEvent. @yisitu: Someone should write up a pseudocode for the new design, then we can have another design review meeting. |
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 fix typos.
The RFC has been updated. There will be a second design review meeting. Here are the call details: Time: Thursday, July 22nd, 2021 from 3-4pm PT Meeting participants are expected to read the updated RFC ahead of time as the meeting will focus on the remaining issues/questions. |
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.
Minor typos + formatting + clearing entire profiler registration struct.
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.
Fixed typo.
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
Co-authored-by: Situ Yi <[email protected]>
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.
As spoken in the meeting, RFC looks good to me.
2nd Design Review Meeting Notes@jzhoulon: Changes from last time:
Start()/Stop() Behaviors@aselle: Can @reza-amd: Does
@yisitu: API can fit different types of use cases, e.g., Data Structure@Jianhui-Li: One last unresolved topic from the last review was about the data structure. Just wanted to confirm that it’s not part of this RFC. Action Items@jbaiocchi: Two action items:
Code Location and Testing@reza-amd: Where would the code be in? @penpornk / @yisitu: What device are you targeting, @reza-amd? |
This RFC will be open for comment until Thursday, June 3rd 2021,
Modular TensorFlow profiler C API
Objective
Provide general profiler C API to allow new device profilers to modularly connect to the current TensorFlow runtime.
This RFC is based on the Modular TensorFlow RFC, which aims at extending the TensorFlow design to plug in capabilities like adding a new device profiler.