Commit Graph

158 Commits

Author SHA1 Message Date
colramos-amd b7d5d3b64b Modify yaml configs to reflect new combined Top Stats
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-13 19:56:46 -06:00
colramos-amd bd83f68412 Enable the revamped Top Stats section in standalone GUI
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-13 19:18:31 -06:00
colramos-amd 2526e14802 Combine kernel and dispatch stats in the Top Stats section of analysis
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-13 19:17:41 -06:00
colramos-amd 7bb211a465 Fix logic for roofline field in sysinfo
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-12 17:07:55 -06:00
colramos-amd 33a2cd34ce Revert sbios fix. Catch commas
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-08 12:52:07 -06:00
Nick Curtis c8f4f74255 Escape sbios, can have commas on some systems (#241)
* escape sbios, can have commas on some systems

Signed-off-by: Nicholas Curtis <nicurtis@amd.com>

* Prefer to cast to str in original function

Signed-off-by: colramos-amd <colramos@amd.com>

---------

Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Co-authored-by: Nicholas Curtis <nicurtis@amd.com>
Co-authored-by: colramos-amd <colramos@amd.com>
2024-02-08 12:40:52 -06:00
colramos-amd d7b78da250 Add new l2 cache per channel headers to supported fields
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-06 16:19:40 -06:00
colramos-amd 48911111be Enable standalone GUI with new metric reordering
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-06 16:19:40 -06:00
colramos-amd 66fcfd3def General spell check and typo fixing
Co-authored-by: Nick Curtis <nicholas.curtis@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-06 16:19:40 -06:00
colramos-amd d16f58b797 Add numPipes built-in-var for updated metrics
Co-authored-by: Nick Curtis <nicholas.curtis@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-06 16:19:40 -06:00
colramos-amd b0cf695976 Fix SPGR merge warning and more descriptive CLI output
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-06 16:12:14 -06:00
Karl W Schulz eece1f4688 add an optional exit_on_error arg for the run utility and enable for a
subset of calls to rocm-smi

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-02-05 16:20:21 -06:00
colramos-amd 9b464503fe Fix reporting of --roof-only runs in sys_info
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-04 12:44:47 -06:00
colramos-amd 194e168414 Modify smi error detection to check for non-zero exit code
Signed-off-by: colramos-amd <colramos@amd.com>
2024-02-02 14:27:08 -06:00
colramos-amd f44ce21252 profile: fix parsing tcc per channel on mi300 (#234)
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-31 09:34:50 -06:00
colramos-amd ad169fa1e8 Remove old csv_converter module, add new kernel_name_shortener module
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-30 11:15:12 -06:00
colramos-amd e1867d34d3 Enable database mode
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-30 10:43:30 -06:00
colramos-amd a1bfa83764 Patch roofline debug logging
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-29 10:22:37 -06:00
colramos-amd 911943acee Add missing input file to Mi300 flattening
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-26 10:32:13 -06:00
colramos-amd be606e6ccb Add missing rocm6 and ubuntu2204 elements to roofline binary
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-25 12:55:32 -06:00
Karl W. Schulz d7b6cf81e6 update headers for 2024 calendar year
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2024-01-24 17:50:31 -06:00
colramos-amd f49d7f7f0c Patch specs enhancement for Mi300
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd e5ac5ccf7d Responding to Karls review
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd bd600bce49 Add license delimiter to new file
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd 88ef7b7550 Catch ROCm-6.0.0 headers for replacement and standardization
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd 7120f87963 Improved --list-metric pretty print
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd c36578578b Fixing typo in KernelName header
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd 8ba3d8e45f Fix small typo
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd a171e776e4 Update headers based on latest rocprofv2 output. Overwrite old headers.
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 0432f77a7e Add config files for Mi300_A1 and modify run_prof utility to use XCC modes
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 d9a6832e30 Decode specs using utf-8 for backwards compatibility in rocprof
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 df4f15ff47 Enable Standalone GUI. Note L2 per channel graphics haven't been ported to new format
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 92f429f8b2 Enable specs correction, detection of cli_style property, and hbm stack num
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 e3f76599b3 Add new submodule for mem chart
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 8fadbb070f Modify schema to reflect new l2 cache per channel
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
coleramos425 8534cec3a6 Implement specs correction function
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd d4a649a926 Fix bug in profiling for Mi100
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd a1b5c252e2 Optimizations to run_prof() utility
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd 987f612489 Adding sbios, vbios, and partitioning info to specs. Also reorganizing fields.
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd 37bd6b78ae Fix reporting of --roof-only runs in sys_info
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-23 12:56:59 -06:00
JoseSantosAMD 17422b056a Add new rooflines (#226)
* Add new rooflines

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Adding rhel8 rocm 6 roofline

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

---------

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
2024-01-22 15:31:53 -06:00
coleramos425 e534e0ab3b Catch failed rocprof subprocess
Signed-off-by: coleramos425 <colramos@amd.com>
2024-01-13 11:31:55 -06:00
colramos-amd 590d000af0 Remove timestamps from sysinfo
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-19 21:10:32 -06:00
Cole Ramos 7d93a086c2 Enabling Standalone GUI on 2.x (#214)
* Initial overhaul of Analyze mode. Basic CLI is enabled.

Signed-off-by: colramos-amd <colramos@amd.com>

* Merge branch '2.x' of github.com:AMDResearch/omniperf into 2.x-dev

Signed-off-by: colramos-amd <colramos@amd.com>

* fix comment typo

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>

* Move error logging to util.py

Signed-off-by: colramos-amd <colramos@amd.com>

* Move perfmon_configs dir into omniperf_soc dir. Rename config dirs for clarity

Signed-off-by: colramos-amd <colramos@amd.com>

* Add a supported_archs property to Omniperf base class

Signed-off-by: colramos-amd <colramos@amd.com>

* Add css assets for GUI styling

Signed-off-by: colramos-amd <colramos@amd.com>

* Re-organize roofline class. Improved useability

Signed-off-by: colramos-amd <colramos@amd.com>

* Enable standalone GUI

Signed-off-by: colramos-amd <colramos@amd.com>

* Remove outdated metric_configs. This was moved to omniperf_soc dir

Signed-off-by: colramos-amd <colramos@amd.com>

* Fix small bug in GUI to enable Mi100 visualization

Signed-off-by: colramos-amd <colramos@amd.com>

---------

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: Cole Ramos <colramos@amd.com>
Co-authored-by: Karl W Schulz <karl.schulz@amd.com>
2023-12-18 14:37:01 -08:00
JoseSantosAMD 6d7c631cd7 Pytest (#212)
* Initial commit for pytest

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Check if csvs populated

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* pytest now checks soc for soc specific testing

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Roof only csvs updated

-  Removes dir if workload dir already present

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Tests create difference logs calculated from a baseline

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* pytest scripts updated to revamp test cases

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Fix dispatch notation

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Introduce a cmake option to enable python code coverage. It now
defaults to being disabled and can be enabled via a
-DENABLE_COVERAGE=ON option (#194).  Introduce CI on mi100 that
leverages code coverage and publishes results along with a testing
report.

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* update branch for CI -> 2.x

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* add profile execution test in cmake and enable in CI

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* run all ci tests

Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Initial overhaul of Profile mode

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Modify vcopy to enable multi iteration and multi kernel for CI

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Update docs and --help menu to reflect new vcopy usage

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Fix typo in IPBlock logging

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Cache ascii art in source and remove ascii dependency

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Update testing collateral to reflect name change of kernel-verbose option

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Small typo corrections in docs

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Fixing more typos...

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* run profiler tests through queue

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* bump wallclock runlimit for test

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* add mi100 badge

Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* include step to build hip binary

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* add additional top-level vars for number of kernels expected and
dispatch id; tests updated to use these vars so that vcopy binary can
be used instead of mixbench

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* add requirements-test.txt file to organize python testing dependencies (#205)

* add a requirements-test.txt file to organize additional python
packages needed to support testing; update CI to install python
packages from dependency files

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Dynamically load dependency checker from requirements.txt

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Add comments

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Replace any - with _ for checker logic

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Update cmake config with Fix for pyyaml package installation check

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* update mi100 CI config

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* upgrade jsdom version (#206)

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Adding the log_metric differ function

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Added missing hasattr checker

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Enable running on mi100 and fixed typos
- Also enables RHEL9 roofline

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* update CMakeLists.txt

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Remove pytest raises SystemExit

Add default thresholds

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Initial overhaul of Analyze mode. Basic CLI is enabled.

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Revert "Remove pytest raises SystemExit"

This reverts commit 9762728eb37e740c39ced87ced7dd7a0d423824d.

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* restore formal call to sys.exit() in top-level main; this is needed
for companion testing collateral which expects SystemExit exceptions
to be raised.

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Update return code error checks for roofline-only analysis on MI100

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* disable coverage comment

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* fix comment typo

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Move error logging to util.py

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Move perfmon_configs dir into omniperf_soc dir. Rename config dirs for clarity

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Add a supported_archs property to Omniperf base class

Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Remove pytest raises SystemExit

Add default thresholds

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Revert "Remove pytest raises SystemExit"

This reverts commit 9762728eb37e740c39ced87ced7dd7a0d423824d.

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Add Absolute Difference to report-diff output
-  Pytest regex updated to read Absolute Difference
-  Pytest creates Baseline (Assumes vcopy binary present)
-  Adding Metric logging

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* vcopy binary created before running tests

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Adding the log_metric differ function

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>

* Update test_profile_general.py

remove extra log_metric function

Signed-off-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>

* Update CMakeLists.txt

soc_params was merged into a class, it isn't a standalone file anymore

Signed-off-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>

---------

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>
Signed-off-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
Co-authored-by: Karl W Schulz <karl.schulz@amd.com>
Co-authored-by: colramos-amd <colramos@amd.com>
Co-authored-by: Karl W. Schulz <koomie@users.noreply.github.com>
2023-12-13 14:50:22 -06:00
colramos-amd 97c5b2c0a1 Add a supported_archs property to Omniperf base class
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-11 16:49:06 -06:00
colramos-amd fbe6b2d683 Move perfmon_configs dir into omniperf_soc dir. Rename config dirs for clarity
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-11 16:49:06 -06:00
colramos-amd b99d448d3b Move error logging to util.py
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-11 16:49:06 -06:00
colramos-amd 57a63b6eb1 Initial overhaul of Analyze mode. Basic CLI is enabled.
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-11 16:49:06 -06:00
JoseSantosAMD 92f91e4715 Enable running on mi100 and fixed typos
- Also enables RHEL9 roofline

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
2023-12-07 08:40:19 -06:00