Commit Graph

535 Commits

Author SHA1 Message Date
Karl W Schulz 20d8951efb ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 17:40:11 -06:00
Karl W Schulz aab20cc66d ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 17:29:25 -06:00
Karl W Schulz c4ab914240 ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 17:21:13 -06:00
Karl W Schulz 140b3fc320 ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 17:09:14 -06:00
Karl W Schulz 03e69f68ce ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 17:04:25 -06:00
Karl W Schulz 0251285257 ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 17:00:13 -06:00
Karl W Schulz 5a1625e339 update pythonpath; revert back to @v3 version of checkout
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 16:52:29 -06:00
Karl W Schulz 9587e842d3 ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 15:32:34 -06:00
Karl W Schulz 3cbc283924 ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 15:27:20 -06:00
Karl W Schulz 059f097913 ci debugging
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 15:16:20 -06:00
Karl W. Schulz e3d8746634 ci debugging
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2024-01-04 15:06:26 -06:00
Karl W. Schulz 4f0c25e11b ci debugging
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2024-01-04 15:02:46 -06:00
Karl W. Schulz 69e2bacce6 testing with coverage disabled
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2024-01-04 14:53:38 -06:00
Karl W. Schulz 6bf8ad816e cmake module loaded by default now
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2024-01-04 14:38:53 -06:00
Karl W. Schulz 4e1371bfed remove commented out options no longer needed
Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
2024-01-04 14:38:16 -06:00
Karl W Schulz c30a460698 comment out submodule option
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 12:51:44 -06:00
Karl W Schulz 5b0625682a update to use v4 of checkout action
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 12:48:57 -06:00
Karl W Schulz 3acba4ccda introduce runtime config{} list - update launch_omniperf() routine to
include this argument

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz a40a667bd5 cleanup
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz 9f6e0a0a8b more refactor for profiling tests: introduce a launch_omniperf()
utility function and use across all profiling executions

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz 9677666ce7 update of profile tests to reorganize subset of output csv file
checking into a common utility function -> check_csv_files()

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz f0234f4571 update profile tests to run with 4-way parallelism
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz a57173f504 add GPU resource allocation file for parallel testing via ctest
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz 275b1080be expand previous profile test into multiple levaraging pytest marker
groups; define a gpu-based RESOURCE_GROUPS to support parallel
execution on multi-gpu nodes

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz 0f79a09a4a introduce a baseline_opts global var to house baseline profiling
options used by all command-line tests; update --device command-line
filtering to leverage HIP_VISIBLE_DEVICES if set

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz ca6d08d652 define pytest marker groups
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz fa587e967c reorg of profile mode testing functions to support parallel execution:
* demarcate tests into eight pytest groups
* leverage new get_output_dir() function to store profile output data
  in a unique directory per test
* disable METRIC_LOGGING

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
Karl W Schulz d56f10bb77 addition of testing utility functions
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2024-01-04 11:54:12 -06:00
JoseSantosAMD 44d00a0521 Pytest (#216)
* Added testing of limited set of metrics with absolute diff and relative diff

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

* Remove some print statements that aren't needed

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

---------

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
2023-12-21 12:54:16 -08: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
Karl W Schulz 36a55f01e1 bump up max time for profile execution tests
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2023-12-14 13:48:22 -06: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 98b18d9f39 disable coverage comment
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2023-12-07 17:30:07 -06:00
Karl W Schulz 7f0fbc0a9a update vcopy execution in profile testing mode to match latest
command-line usage

Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2023-12-07 17:15:03 -06:00
Karl W Schulz 3ba5f1d337 Update return code error checks for roofline-only analysis on MI100
Signed-off-by: Karl W Schulz <karl.schulz@amd.com>
2023-12-07 15:57:45 -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 2bf487ca4a update CMakeLists.txt
Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
2023-12-07 08:40:19 -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
Karl W Schulz bd803a0883 Merge branch '2.x' into 2.x-dev 2023-12-01 14:50:08 -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 c73b49704c Update testing collateral to reflect name change of kernel-verbose option
Signed-off-by: colramos-amd <colramos@amd.com>
2023-12-01 13:32:19 -06:00