Commit Graph

8920 Commits

Author SHA1 Message Date
gobhardw 5d3f0a0e9e Fixing kernel-trace for file plugin
Change-Id: I9853e7e10da2f0812c69fe5242a9be34c78496f7
2023-09-19 23:40:54 +05:30
David Yat Sin 22becfb1e8 Add query for Xnack enabled
Add system query for whether Xnack is enabled on a system.

Change-Id: I2832110e4f33f6a951d13acd06636442debf27ae
2023-09-19 00:25:30 +00:00
Sam Wu 7b32ea614b fix toc to point to correct doxysphinx output path
update doc requirements; rocm-docs-core to 0.24.1

Change-Id: I78257d476a8bc47fd1a4ee03aa3db1a430ed116f
2023-09-18 09:07:01 -06:00
Galantsev, Dmitrii 094c98a74f rocm_smi.py: Fix pipe into head error
When piping rocm_smi into 'head' it failed with "Broken pipe" error. The
error can be safely ignored. head closes the pipe early which causes
calls a SIGPIPE signal to be raised.

https://docs.python.org/3/library/signal.html#note-on-sigpipe

Change-Id: I4a589c6ed9a8c5b50de84b33e28115c6b510045f
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-15 16:37:10 -04:00
Galantsev, Dmitrii 3b95214fff rsmiBindings.py - Add initRsmiBindings()
Library path was printed at all times even with --json flag.
This commit adds a mandatory initRsmiBindings function which is a core
component of the rsmiBindings.py library.

It **MUST** be called on import.

Change-Id: Ic6ae1ec5d1fabba288910e6aed6c4706e53e5cd7
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-15 16:37:10 -04:00
Giovanni LB 1b86e38776 SWDEV-419972: Disabling MT test because its broken. Moving MP test below plugin tests.
Change-Id: Ic6b69151f6ce96e56d7b9ae2bfd541faaca327f7
2023-09-15 14:13:50 -03:00
Galantsev, Dmitrii 5c574ac79c TESTS - Check power and frequency support
It is not guaranteed that power can be read or set for some GPUs
(MI300). It is also not guaranteed that frequencies can be set.

As this is not a tool issue - we simply skip the failing test.

Change-Id: I134e96a476040cef513cd924f00e30cd6dea42a5
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-14 22:19:33 -04:00
Galantsev, Dmitrii 238c7f6dca README - shell -> bash
Change-Id: I3a50c38ae280747b4874cff443091f332980fe50
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-14 17:32:01 -04:00
Galantsev, Dmitrii 26c4578ee2 README - Add a documentation link
Change-Id: Ia56994825e99e72829283f07bed7379d95d24498
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-14 16:31:42 -05:00
Galantsev, Dmitrii a4b470fe71 Add errors for existing but empty dev files
Change-Id: Iad9febc50f9b8e6085f8b605249ee884d2f134d6
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-14 17:30:03 -04:00
Oliveira, Daniel 12f395e592 rocm_smi_lib: Fix rocm-smi --resetfans results in Permission Denied
For operations related to:
  --resetfans
  --setfan

We report 'Not supported' for these cases instead of 'Permission denied'

Code changes related to the following:
  * rocm_smi_properties
  * rocm_smi related APIs

Change-Id: I144646efc3804fabd45cc5a46351803950b4feb7
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>
2023-09-14 16:54:29 -04:00
Jonathan R. Madsen 06f7b780f9 Common library fixes (#57)
* Update common/container

- fix namespace issue in operators.hpp
- fix exceptions in stable_vector
- fix exceptions in static_vector
- fix emplace_back construction with no args in static_vector

* Add lib/common/utility.hpp

- get_tid function

* Update lib/common/utility.hpp

- add timestamp_ns function
2023-09-14 14:24:11 -05:00
Sriraksha Nagaraj 54f6e2afb7 SWDEV-378008: Adding changes to serialize the kernels in rocprofV2
Change-Id: I82353ba94b3a15fdc5991e6129fe47f6765a9f74
2023-09-14 13:09:09 -04:00
Ammar ELWazir ad5f8d4c65 Fixing Glog to use Gtest built internally (#56) 2023-09-14 08:28:37 -07:00
Jonathan Kim 986e82d677 kfdtest: temporarily exclude address watch testing
The debug address watch test will hang when running with the
entire KFD test.

Disable it for now.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: I1d0479fa2717d2f398cc32e0605ca6dcc17ebcd5
2023-09-14 09:07:20 -04:00
Hao Zhou 265341dd39 Merge amd-staging into amd-master 20230914
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I408a62826faff38d319b0d7ef08767223b3b327f
2023-09-14 10:23:32 +08:00
Galantsev, Dmitrii d9381b6dae Fix misspelling averge -> average
Change-Id: I3546348560acadb1e775e10ad24115de4ccfc800
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-13 19:49:46 -05:00
Galantsev, Dmitrii f6ace9fa14 README - Update documentation links
Change-Id: I2e778a766e6a4489280fe7b86f33a6c597983167
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-13 19:34:28 -05:00
Jonathan R. Madsen 3769bb7dbf Minor documentation workflow updates (#53)
* Document rocprofiler version defines

- write doxygen for preprocessor defines
- make ROCPROFILER_SOVERSION number similar to  ROCPROFILER_VERSION
- remove ROCPROFILER_COMPILER_STRING

* Update rocprofiler.dox.in

- reformatted
- include rocprofiler/version.h in doxygen
- tweaked dot settings, e.g. made dot SVGs non-interactive

* Update scripts/update-docs.sh

- configure with cmake ROCPROFILER_INTERNAL_BUILD_DOCS=ON which just generates version.h and exits

* Update CMakeLists.txt

- support ROCPROFILER_INTERNAL_BUILD_DOCS=ON option for generating version.h and exiting
2023-09-13 19:14:23 -05:00
Jonathan R. Madsen c0cb907fee Support different HSA table sizes (#44)
* Support different HSA table sizes

- Use hsa-runtime64_VERSION to define pp defs for major and minor version in version.h.in
- Update version.h.in to define ROCPROFILER_HSA_RUNTIME_VERSION_{MAJOR,MINOR}
- Use HSA_AMD_INTERFACE_VERSION_{MAJOR,MINOR} to handle hsa_amd_vmem_* support
- add template specializations for hsa_amd_vmem_* functions
- implement HSA version based static asserts

* Debug commit

- print pp value for ROCPROFILER_HSA_RUNTIME_VERSION and ROCPROFILER_HSA_RUNTIME_EXT_AMD_VERSION

* Debug commit

- fix ROCPROFILER_HSA_RUNTIME_VERSION value

* Remove debug edits

* Update lib/rocprofiler/hsa/utils.hpp

- support outputting:
  - hsa_amd_memory_pool_t
  - hsa_amd_vmem_alloc_handle_t
  - hsa_amd_memory_access_desc_t
  - hsa_amd_memory_pool_t

* Update lib/rocprofiler/hsa/utils.hpp

- tweak to join_impl

* Update lib/rocprofiler/hsa/utils.hpp

- use formatting when possible

* Update lib/rocprofiler/hsa/types.hpp

- Support API_TABLE_MAJOR_VERSIONS > 1

* Update lib/rocprofiler/hsa/types.hpp

- remove inherit from undefined template specialization

* Update lib/rocprofiler/hsa/utils.hpp

- remove duplicate formatter specialization

* Update include/rocprofiler/hsa/api_args.h

- remove const from non-pointer anonymous structs in union

* Use HSA_AMD_EXT_API_TABLE_MAJOR_VERSION
2023-09-13 13:14:28 -05:00
Jonathan R. Madsen 1216fd99a7 Reduce release packaging (#300)
* Bump version to 1.10.3

* Drop releases for ROCm < 5.3

- ROCm is no longer providing release for Ubuntu 18.04 starting with 5.3 so omnitrace is dropping support for Ubuntu 18.04 + ROCm
- Dropping ROCm 5.2 releases for Ubuntu 20.04
- Dropping ROCm 5.2 releases for OpenSUSE 15.4

* Update redhat workflow

- Test RedHat 9.1 + ROCm 5.5
- Test RedHat 9.1 + ROCm 5.6

* Update ubuntu-focal workflow

- drop ROCm 5.2 testing
- add ROCm 5.6 testing

* Update Findroctracer.cmake

- provide /opt/amdgpu to HINTS/PATHS for drm and drm_amdgpu libraries

* Update Findrocprofiler.cmake

- prefer librocprofiler64.so.1

* Update librocprofiler64.so to librocprofiler64.so.1

- search for the SOVERSION 1 library of librocprofiler64.so if ROCm > 5.5.0

* Update Findrocprofiler.cmake

- link to libpciaccess for ROCm 5.5.0

* Update redhat CI workflow

- install libpciaccess for rocm CI

* Update cpack workflow

- Remove all RHEL 9.0 packaging
- Remove all packaging for ROCm 5.3 on OSes supporting where releases are provided for 5.4, 5.5, and 5.6

* Update ubuntu focal workflow

- remove rocm 5.3 jobs
2023-09-12 20:19:26 -05:00
Galantsev, Dmitrii 4acfb00ad5 PY: Silence error output when printing concise info
Change-Id: I9ce4ad523b3fe2ec8afc5bea791810ec67558f11
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-12 19:16:16 -04:00
Giovanni LB adc1367c59 SWDEV-421600: Fixing eval_metrics
Change-Id: I3a41fb6b27d80d84a34ee6461382e512dbecb61f
2023-09-12 16:24:30 -04:00
Jonathan Kim 6b4365ae4c Set correct overrides settings for GangLeader functions
Silence warnings on more stringent compile checks for lack of override
declaration.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: Iaa54dfc3dd74f5ee55763cafbbcf2db73493bb21
2023-09-12 15:56:34 -04:00
Jonathan Kim fcec22716a Use camel case for KFDDBGTest shaders
Debug test shaders should use camel case and suffix *Isa to match other
test shader naming convention.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: I64e14183ba1c7c9664b13a742a0e5683866e8223
2023-09-12 15:38:12 -04:00
Jonathan R. Madsen 729c34fb60 Docs skeleton (#51)
* Add doxygen-awesome-css submodule

* Basic documentation files

- conf.py: run by sphinx
- about.md: info about rocprofiler
- features.md: overview of features
- installation.md: build/test/install instructions
- index.md: sets up main page
- generate-doxyfile.cmake: generates rocprofiler.dox with rocprofiler-specific info
- environment.yml: conda environment
- Makefile: sphinx makefile
- README.md: build instructions
- rocprofiler.dox.in: doxygen template
- .gitignore: ignores generated files
- .nojekyll: prevents GitHub Pages from using Jekyll for deployment of pages

* Documentation scripts

- scripts for doing common sequences of commands for building docs
- update-docs.sh: builds the docs and installs the docs if /docs directory is present
- update-doxygen.sh: quick script for generating doxygen

* Workflow for docs

- step for building docs
- step for deploying docs

* Update doxygen comments in include/rocprofiler

- rocprofiler.h / rocprofiler_plugins.h
  - fixed non-existent global references in doxygen comments
  - fixed parameter names that were incorrect or not updated

* Update docs workflow

- only deploy docs when on main branch
2023-09-12 12:34:36 -05:00
gobhardw a40e05c425 SWDEV-420435 solves wrong ordering of counter headers
Change-Id: Ifc2697e1f545d6329a7bbf024f106fd3244ae80a
2023-09-12 11:20:10 +05:30
gobhardw 5ec64f00a9 Fixing library path for roctx annotations
Change-Id: If3d65cf1808d011ef85e11e6804021c50ecce65c
2023-09-12 01:19:08 -04:00
Galantsev, Dmitrii ff992e9b56 TESTS - re-enable frequency tests on aqua_vanjaram
Change-Id: I8fcd9418da5b973897ccfffc7d8a2f3ea833ea77
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-11 19:43:25 -05:00
Galantsev, Dmitrii 41ade41d84 SWDEV-409184 - Fix erroneous 'not supported' when HWMON is absent
Change-Id: Ic5ff406977d962fadc709a03853dac61b5460a26
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-11 19:34:30 -05:00
Cole Ramos 6cc220d4b6 Merge pull request #183 from arghdos/fix_for_dispatch_selection_of_stochastic
fix for stoichastic kernel dispatch selection
2023-09-11 14:16:09 -05:00
gobhardw d4bb514493 Fixing Singleton test
Change-Id: I03daa4c741747b742179d18901a2e2e2d4a04ffb
2023-09-11 15:00:39 -04:00
Giovanni LB 43e259e5da SWDEV-419944: Added metrics for gfx1102
Change-Id: I5c69ff716f530d130710c0687f20e5bc990a60eb
2023-09-11 13:59:33 -04:00
David Yat Sin 9a127193a8 Pre-allocate memory for 16K signals
On busy systems, the memory allocation can take long duration and
increase calls to hsa_signal_create/hsa_amd_signal_create. This
mitigates this issue.

Change-Id: Ib7640273262ebc3dbf1f07049ce5da10b1d6b158
2023-09-11 13:08:28 -04: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
gobhardw d253946266 SWDEV-419329: fixing rocprofv1 merge issues to tblextr.py
Patchset 2: Added missing check

Change-Id: Iac4a99051dd9f5f146f4a4e8d21f51b2de6b7907
2023-09-11 01:01:08 -04:00
Ori Messinger 5f117f7608 kfdtest: Fix String NULL Check
MCPU const char * always returns true, so check the value instead.

Before: if (!MCPU) {
After: if (!*MCPU) {

Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
Change-Id: I414e091ca764095937311648c534351d6abf30e6
2023-09-08 16:36:01 -04:00
Jonathan Kim 6ec529fe68 kfdtest: temporarily exclude debug suspend queues test
For some reason, non-Ubuntu builds have some sort of memory
corruption when running this test, which affect subsequent running
tests.  Disable it for now.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: I5f54ee4c63286a33c6948bc818aa1501c4a6751e
2023-09-08 12:12:13 -04:00
David Yat Sin 6ce1586def Update blit shaders for gfx94x
Change-Id: Ic8def71aa0c6ab9a9a758877a65ca6b5625e8f1e
2023-09-08 09:43:31 -04:00
Shweta Khatri 4e675ce730 Use LLVM compiler to build blit shaders
Generates shader bytecode stream in amd_blit_shaders_v2.h at build time

Change-Id: I5228ec5442a78d074fd85ca9cd7f7a156dd84da3
2023-09-08 09:42:29 -04:00
Charis Poag ed6777a8e7 Add GPU partition nodes
* Updates:
    - Fixed infinit loop on systems
      which did not have VRAM files
    - Fixed concise info from throwing exception
      with no amdgpu driver loaded
    - Fix for ability to see all nodes when
      after switching partitions (mirrors
      original card display/settings)
    - Added to logs build type, lib path,
      and set env. variables

Change-Id: Ic0333df355144ce2242cecea93fe4ce51caf311c
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2023-09-07 22:17:54 -05:00
Galantsev, Dmitrii 4aef767596 Cleanup rocm_smi.cc
Change-Id: Ia676c237222b0dd5d9e8a054a93776f3b11e2225
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-07 15:50:40 -04:00
David Yat Sin 3ee6c9b0e2 Fix clang compile warnings
Change-Id: Iea9afc3d998a6c5db28af6c7b54939960b11ae95
2023-09-07 12:00:02 -04:00
Bill(Shuzhou) Liu fab0542ab1 Fix doxygen warning messages
The Doxygen will enable warning as error message.

Change-Id: Ie7a7c9a823388c4140f31489604d65ec43005772
2023-09-07 08:48:38 -04:00
Benjamin Welton 28272b3e5f Fix building of PC Sampling Experiment (#22)
* Fix pc_sample building

* source formatting (clang-format v11) (#43)

Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com>

* Update samples/pc_sampling/CMakeLists.txt

* Allow static_asserts from hsa/types.hpp to be disabled via build flags (#24)

* Fix pc_sample building

* Fix up hsa type checks

* Fix pc_sample building

* source formatting (clang-format v11)

* Revert check, now allow checks to be disabled by
compiler defines.

* Update samples/pc_sampling/common.h

---------

Co-authored-by: bwelton <bwelton@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>

* Update single-user-host-trap-retries-service-instantiation.cpp

- include vector

---------

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com>
2023-09-07 00:06:06 -05:00
Hao Zhou 26c6f96d71 Merge amd-staging into amd-master 20230907
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: If27857b677876229d45a9f686b1a7ec7c1316e15
2023-09-07 10:19:41 +08:00
Karl W. Schulz f3e5db714c 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-09-06 17:00:06 -05:00
Galantsev, Dmitrii fc852fc915 .gitignore - Ignore more build files
Change-Id: I5b5207e65cc3fd6537800db388da142c0e76c3ff
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-06 10:21:11 -05:00
Galantsev, Dmitrii 824056b0be .editorconfig - Remove whitespace rule
Change-Id: Ia928dcb49fc094889784a0afcbc4abbe35bd59c7
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-09-06 10:20:43 -05:00
Giovanni LB 321ee7b7f1 SWDEV-419972: Fixing multiprocess test. Moved codeobj test above ATT test.
Change-Id: Ib877bfb721bf4c4b0b1c26dcc69a277f6b89012f
2023-09-05 13:29:28 -03:00