It cannot be moved to amd_device_functions.h because that causes circular
dependences when trying to use the macro in other files. So we create a new
header and move all assert/abort macros to that common header.
As a side-effect, also fix the macro to correctly expand the entire condition
argument, and also consume the trailing semicolon.
Change-Id: I43688c8e61183503a3a1a039b91321a3779152af
[ROCm/clr commit: 7137a296dd]
It cannot be moved to amd_device_functions.h because that causes circular
dependences when trying to use the macro in other files. So we create a new
header and move all assert/abort macros to that common header.
As a side-effect, also fix the macro to correctly expand the entire condition
argument, and also consume the trailing semicolon.
Change-Id: I43688c8e61183503a3a1a039b91321a3779152af
Original logic didn't use pitch because, abstraction layer had
a sysmem copy without pitch. Since extra sysmem copy was
disabled, the code has to accept pitch values from the app.
Change-Id: Ia9fba7b33ddff4e9109b4e63d0d6afa52f501c8f
[ROCm/clr commit: fb3dfcf889]
Original logic didn't use pitch because, abstraction layer had
a sysmem copy without pitch. Since extra sysmem copy was
disabled, the code has to accept pitch values from the app.
Change-Id: Ia9fba7b33ddff4e9109b4e63d0d6afa52f501c8f
* 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>
[ROCm/rocprofiler-compute commit: 6d7c631cd7]
* 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>
Separating -mllvm from its option can cause, in rare circumstances,
the option to be dropped. Or the mllvm to be dropped. Either of which
can cause a compilation error. This issue was exposed investigating
SWDEV-435276
Change-Id: Ie665d49183b55a57c9b58619cad525e44f3be8a5
[ROCm/clr commit: 704d5df91b]
Separating -mllvm from its option can cause, in rare circumstances,
the option to be dropped. Or the mllvm to be dropped. Either of which
can cause a compilation error. This issue was exposed investigating
SWDEV-435276
Change-Id: Ie665d49183b55a57c9b58619cad525e44f3be8a5
Separating -mllvm from its option can cause, in rare circumstances,
the option to be dropped. Or the mllvm to be dropped. Either of which
can cause a compilation error. This issue was exposed investigating
SWDEV-435276
Change-Id: Id6cfdad1f94b735813271f251cae9005d6799198
[ROCm/hip commit: e193b7cfee]
Separating -mllvm from its option can cause, in rare circumstances,
the option to be dropped. Or the mllvm to be dropped. Either of which
can cause a compilation error. This issue was exposed investigating
SWDEV-435276
Change-Id: Id6cfdad1f94b735813271f251cae9005d6799198
This class of tests can fail randomnly since they assume that time to
create first set of stream should be greater than second set. This is
incorrect since there can be multiple reason why the time for second
batch can be greater than the first batch.
Change-Id: I5f91c2bab7119608014dead25fdeb38523c61682
[ROCm/hip-tests commit: 39aeb7b42e]
This class of tests can fail randomnly since they assume that time to
create first set of stream should be greater than second set. This is
incorrect since there can be multiple reason why the time for second
batch can be greater than the first batch.
Change-Id: I5f91c2bab7119608014dead25fdeb38523c61682
Reasoning: The test assumes hipcc to be present, which might not be the
case on platforms running hip-tests. This test assumes only one type of
GPU present, iGPUs can mess the test up. It also assumes write access
inside the folder its executing, which might not be the case and lastly
it relies on a behavior of HIP which has changed a few times which is
how does a HIP application behave when code object in an exe does not
match the gpu isa. Also work on SWDEV-365241 might render this redundant,
incases where you try to run gfx1032 on gfx1030.
Change-Id: Ie99bdf7caef47e449e3d19c138af47ab82f73d2b
[ROCm/hip-tests commit: da6e008456]
Reasoning: The test assumes hipcc to be present, which might not be the
case on platforms running hip-tests. This test assumes only one type of
GPU present, iGPUs can mess the test up. It also assumes write access
inside the folder its executing, which might not be the case and lastly
it relies on a behavior of HIP which has changed a few times which is
how does a HIP application behave when code object in an exe does not
match the gpu isa. Also work on SWDEV-365241 might render this redundant,
incases where you try to run gfx1032 on gfx1030.
Change-Id: Ie99bdf7caef47e449e3d19c138af47ab82f73d2b
* Update lib/rocprofiler-register/details/dl.cpp
- change default_link_open_modes to only use LAZY + NOLOAD
* Update lib/rocprofiler-register/rocprofiler-register.cpp
- Support HIP compiler table
- changed FATAL logging to WARNING in rocp_load_rocprofiler_lib
* Update VERSION
- bump to 0.2.0
[ROCm/rocprofiler-register commit: 8ac1d556ce]
* Update lib/rocprofiler-register/details/dl.cpp
- change default_link_open_modes to only use LAZY + NOLOAD
* Update lib/rocprofiler-register/rocprofiler-register.cpp
- Support HIP compiler table
- changed FATAL logging to WARNING in rocp_load_rocprofiler_lib
* Update VERSION
- bump to 0.2.0