-
Notifications
You must be signed in to change notification settings - Fork 51
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
Initial overhaul of Profile mode #200
Conversation
Signed-off-by: colramos-amd <colramos@amd.com>
Few quick thoughts:
|
Thanks for your feedback, @feizheng10. The idea is to, at a high level, put any SoC specific material in these SoC subclasses. Since Roofline (specifically MFMA) isn't available on all hardware types, I decided to make this a property of gfx90a. Additionally, our roofline calculation may change in future hardware. Instantiating the roofline object at the SoC level gives us the ability to override any parts of the roofline calc from within these SoC subclasses. Let me know if this makes sense |
I mean, technically, roofline is nothing special other than other ip blocks which should be configed int the similar way. I'm planing to improve that in my working branch. |
BTW, prefix "__" for members in class seems not recommended in PEP8. |
I'm a fan of demarcating variables that we intend to treat as private class vars (since Python doesn't have private vars directly). It doesn't have to be underscores, but I think we should pick a convention for items we are sharing across member functions and try to stick with it. btw, although it may not be mentioned in PEP8, this common convention is still mentioned in latest python docs, e.g.: https://docs.python.org/3.11/tutorial/classes.html#private-variables |
Also, in the section on designing for inheritance for PEP8 (https://peps.python.org/pep-0008/#designing-for-inheritance) there is still a reference to the use of leading underscore for non-public attributes (sort of in a backwards way). It says:
So, while there is really no such thing as private attributes, the notion of demarcating those that are intended to be used as private for developers seems to remain. |
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Update: Note, there's a hidden option in vcopy to activate multi-kernel (to avoid confusing customer) it's called |
Signed-off-by: colramos-amd <colramos@amd.com>
…tion Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
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 for quick updates on pyfiglet and --kernel-verbose
.
I'm in favor of going ahead and landing this.
My initial PR includes a redesign of our "Profile mode" code. From a UX perspective, nothing should be different. All your usual profile commands will run just as before.
Under the hood, I've rearranged the
/src/
directory to reflect some files that have been deleted, renamed, or otherwise integrated into one of our classes as helper methods.To start, I've just tested these changes on a Mi200 + rocprofv1 environment. My plan is to first agree on structuring for this combination, then use that to inform the others.
At a high level, the new design is shown in the "New structure" section below. Any feedback would be highly appreciated - I'm most curious if any improvements can be made to my encapsulation, overall organization and/or logging.
New structure