Commit Graph

660 Commits

Author SHA1 Message Date
coleramos425 ff09288c83 Fix bug in coalescing TCC per channel counters
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
coleramos425 224d627438 Add options for --specs and --specs-correction
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 4ffcaa1b4a Separate aggregation of TCC and TCC2 counters
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 a1b5c252e2 Optimizations to run_prof() utility
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-24 16:30:04 -06:00
colramos-amd 42dd2cbcac Moving the join_prof func into parent class and adding output_headers specific to rocprof ver
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
colramos-amd 245e8499c8 Fixed broken roofline options
Signed-off-by: colramos-amd <colramos@amd.com>
2024-01-23 12:30:57 -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
colramos-amd 347935fe41 Removed outdated parameter from CLI processor
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-18 17:51:28 -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
Karl W Schulz eaae69e2a6 fix comment typo
Signed-off-by: Karl W Schulz <karl.schulz@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
Karl W Schulz 9b4b6aee8e 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>
2023-12-07 14:40:07 -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
colramos-amd cddc57bf08 Added missing hasattr checker
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-05 13:06:44 -06:00
colramos-amd f822a56b7c Fixing more typos...
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-01 13:43:07 -06:00
colramos-amd bc2d4b3491 Small typo corrections in docs
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-01 13:38:53 -06:00
colramos-amd 9a66f66ebc Cache ascii art in source and remove ascii dependency
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-01 13:28:56 -06:00
colramos-amd 0f4b1d1d1f Fix typo in IPBlock logging
Signed-off-by: colramos-amd <colramos@amd.com>
2023-11-20 14:45:56 -06:00
colramos-amd f5b8cff990 Update docs and --help menu to reflect new vcopy usage
Signed-off-by: colramos-amd <colramos@amd.com>
2023-11-20 14:45:00 -06:00
colramos-amd 87388227ca Initial overhaul of Profile mode
Signed-off-by: colramos-amd <colramos@amd.com>
2023-10-31 15:11:17 -05:00
colramos-amd ef2e460952 Fixed baseline compare pct change issue occuring with small values
Signed-off-by: colramos-amd <colramos@amd.com>
2023-10-10 14:01:50 -05:00
colramos-amd 48857c8f0c Add support for result comparison in analyze mode
Signed-off-by: colramos-amd <colramos@amd.com>
2023-10-04 16:15:48 -05:00
Karl W. Schulz c55508dfe6 Addition of new files to demonstrate top-level data structure refactoring for
2.x version.  Introduces an Omniperf class as the primary structure to organize
work elements and allows for a simple main() which is highlighted in a
omniperf2 example. Demonstrates desired logger functionality including a custom
trace loglevel that can be used to provide more verbosity beyond the debug
level. Also introduces three abstract base classes to organize flexibility for
alternative implementations of key elements within omniperf:

  * underlying profiler tool (e.g. rocprof, rocscope, etc)
  * supported GPU architectures (SoC)
  * analysis environments (e.g. CLI, web-based, etc)

Stub examples for child classes relevant to currently supported options within
omniperf are included in separate files.

Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2023-10-04 09:52:50 -05:00
colramos-amd 95f886ef5a Consistent useage of -p/--path option in profile mode
Signed-off-by: colramos-amd <colramos@amd.com>
2023-10-04 09:50:30 -05:00
coleramos425 d3341905f8 Fix verbose mode in analyze mode
Signed-off-by: coleramos425 <colramos@amd.com>
2023-09-20 14:15:18 -05:00
Nicholas Curtis a0955c293d fix for stoichastic kernel dispatch selection
Signed-off-by: Nicholas Curtis <nicurtis@amd.com>
2023-09-11 10:17:20 -04:00
Cole Ramos 1289682045 Merge pull request #168 from JoseSantosAMD/cpp_filt
uses c++filt instead of llvm-cxxfilt
2023-09-05 09:21:02 -05:00
JoseSantosAMD 56e497fd62 Update src/utils/csv_processor.py
Co-authored-by: Cole Ramos <colramos@amd.com>
Signed-off-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
2023-08-30 17:03:39 -05:00
coleramos425 6461df96e8 Adding color code thresholds to standalone GUI to match Grafana
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-30 16:24:42 -05:00
coleramos425 8936966e81 Standardizing headers. Will use 'avg' instead of 'mean'
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-30 16:20:45 -05:00
coleramos425 0694400618 Merge branch 'main' of github.com:AMDResearch/omniperf into dev 2023-08-29 16:07:14 -05:00
coleramos425 4d9baa07e1 Update docs
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-29 10:56:25 -05:00
coleramos425 50fd968f51 Removing kernelVerbose from database mode
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-24 18:57:26 -05:00
josantos 256ada088d uses c++filt instead of llvm-cxxfilt
Signed-off-by: josantos <josantos@amd.com>
2023-08-24 16:43:45 -05:00
coleramos425 7d457b5096 Replacing subprocess with shutil
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-24 15:54:00 -05:00
coleramos425 7187218ed9 Patch llvm-cxxfilt detection in atypical rocm installs
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-22 11:25:06 -05:00
coleramos425 064debf356 Documentation enhancements
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-17 09:50:38 -05:00
Cole Ramos eec0323945 Merge branch 'main' into dev 2023-08-16 14:29:29 -07:00
coleramos425 3ae0198f8e Renaming csv_converter to make more succinct
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-16 16:16:46 -05:00
coleramos425 f27142160c Remove debug logging
Signed-off-by: coleramos425 <colramos@amd.com>
2023-08-16 15:34:55 -05:00