Skip to content
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

Move roofline plot generation to analyze mode #490

Open
wants to merge 11 commits into
base: amd-staging
Choose a base branch
from

Conversation

sohaibnd
Copy link

@sohaibnd sohaibnd commented Nov 25, 2024

This is to address #435

Still, the only thing I need would be a way to generate the roofline PDFs for a given kernel after having recorded performance counters for all kernel.

I believe that would be a useful feature because we don't want to re-profile the whole program each time we want a roofline for a different kernel. This feature seems to already exist in the GUI, I would appreciate having the same capabilities built in the CLI

By moving the creation of the roofline plot pdfs to analyze mode on cli, we can create a roofline plots with different kernel filtering without having to re-profile the whole program.

danielsu-amd and others added 10 commits November 5, 2024 11:14
* Update name and icon for browser tab to rocprofiler-compute.

Signed-off-by: xuchen-amd <[email protected]>

* Update name and icon for browser tab to rocprofiler-compute.

Signed-off-by: xuchen-amd <[email protected]>

---------

Signed-off-by: xuchen-amd <[email protected]>
* find/replace Omniperf to ROCm Compute Profiler

Signed-off-by: Peter Park <[email protected]>

* update name in Sphinx conf

Signed-off-by: Peter Park <[email protected]>

* mv what-is-omniperf.rst -> what-is-rocprof-compute.rst

Signed-off-by: Peter Park <[email protected]>

* update Tutorials section

Signed-off-by: Peter Park <[email protected]>

* add Omniperf as keyword to Conceptual section for internal search

Signed-off-by: Peter Park <[email protected]>

* update Reference section

Signed-off-by: Peter Park <[email protected]>

* black fmt conf.py

Signed-off-by: Peter Park <[email protected]>

* update profile mode and basic usage subsections

Signed-off-by: Peter Park <[email protected]>

* update how to use analyze mode subsection

Signed-off-by: Peter Park <[email protected]>

* update install section

Signed-off-by: Peter Park <[email protected]>

* fix sphinx warnings

Signed-off-by: Peter Park <[email protected]>

* fix cmd line examples in profile/mode.rst

Signed-off-by: Peter Park <[email protected]>

* update install decision tree image

Signed-off-by: Peter Park <[email protected]>

* fix TOC and index

Signed-off-by: Peter Park <[email protected]>

fix weird wording

* fix cli text: deriving rocprofiler-compute metrics...

Signed-off-by: Peter Park <[email protected]>

* update standalone-gui.rst

Signed-off-by: Peter Park <[email protected]>

* restore removed doc updates from #428

Signed-off-by: Peter Park <[email protected]>

* update ref to Omniperf in index.rst

Signed-off-by: Peter Park <[email protected]>

* fix grafana connection name to match image

Signed-off-by: Peter Park <[email protected]>

* update cmds in tutorials

Signed-off-by: Peter Park <[email protected]>

---------

Signed-off-by: Peter Park <[email protected]>
* MI300 roofline enablement in rocprofiler-compute

requirements.txt
- running some modules complained about numpy version too new, adding extra requirement that numpy be 1.x
pmc_roof_perf.txt
- adding TCC_BUBBLE_sum counter to profile
soc_gfx940.py
soc_gfx941.py
soc_gfx942.py
- remove console logs reading that roofline is temporarily disabled, uncommenting blocks that check for roofline csv and run roofline post-processing
roofline_calc.py
- add mi300 to supported soc
- add new calculation for hbm_data for MI300 using tcc_bubble_sum, checks if counter > 0 to use
- add to a few comments
roofline-ubuntu-20_04-mi300-rocm6
- binary for the ubuntu systems to enable mi300 roofline calculations from rocm-amdgpu-bench

Note- other distros will get roofline bins to enable mi300, but need to be further tested before putting into branch.

Signed-off-by: Carrie Fallows <[email protected]>

* Reformatting roofline_calc.py

Signed-off-by: Carrie Fallows <[email protected]>

---------

Signed-off-by: Carrie Fallows <[email protected]>
* Add pre commit hook for Python formatting

Signed-off-by: coleramos425 <[email protected]>

* Update formatting workflow to run on latest Python and add isort formatter

Signed-off-by: coleramos425 <[email protected]>

* Fix caught yaml formatting issues

* Update pyproject file

* Add pre-commit hook instruction to CONTRIBUTING guide

* Remove target-version from black pyproject.toml

* Fixed formatting errors found with black and isort

Signed-off-by: David Galiffi <[email protected]>

* Run hook: Whitespaces, fix end of file spaces

---------

Signed-off-by: coleramos425 <[email protected]>
Signed-off-by: David Galiffi <[email protected]>
Co-authored-by: David Galiffi <[email protected]>
Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.0 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@43.0.0...43.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Checks are failing if version too high and no need for lower version

Signed-off-by: Carrie Fallows <[email protected]>
* Fix crash when loading web UI roofline for gfx942

* Fix formatting

Signed-off-by: benrichard-amd <[email protected]>

* Make same changs for gfx940, gfx942.

Signed-off-by: benrichard-amd <[email protected]>

* Fix formatting in soc_gfx940 and soc_gfx941.

Signed-off-by: benrichard-amd <[email protected]>

---------

Signed-off-by: benrichard-amd <[email protected]>
* Patch in missed name change for rebranding.

Signed-off-by: xuchen-amd <[email protected]>

* Patch in missed name change for rebranding.

Signed-off-by: xuchen-amd <[email protected]>

---------

Signed-off-by: xuchen-amd <[email protected]>
@sohaibnd sohaibnd force-pushed the sonadeem_roofline_cli_analyze_mode branch from eb6468c to 6e6ad5c Compare November 25, 2024 23:51
@coleramos425
Copy link
Collaborator

@sohaibnd make sure you're also updating any CI tests that leverage the flags that are modified in this PR, i.e.,

def test_sort_kernels():

If this introduces a new "roofline" mode, we may want to add logic for this in tests to ensure it isn't being missed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants