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>
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>
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>
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>
* 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
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
* 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
* 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
* 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
Silence warnings on more stringent compile checks for lack of override
declaration.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Change-Id: Iaa54dfc3dd74f5ee55763cafbbcf2db73493bb21
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
* 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
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
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
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
* 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>
* 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>
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>