- Add JPEG activity track in perfetto trace
- Add JPEG decode tests to the examples
- Change existing videodecode test to include JPEG testing
- Rename videodecode test file to decode to include jpeg tests too
- Fix a bug in the test which checks for total activity of 0
- Disable rocDecode and rocJPEG samples from the github image files
[ROCm/rocprofiler-systems commit: 59d3399901]
- Renames the CMake option "ROCPROFSYS_USE_HIP" to "ROCPROFSYS_USE_ROCM"
- Remove the "ROCPROFSYS_USE_ROCM_SMI option. Controlled with the "ROCPROFSYS_USE_ROCM" option, instead.
- Runtime configuration can still toggle ROCPROFSYS_USE_ROCM_SMI to disable the sampling.
- Rename ROCPROFSYS_HIP_VERSION macro to ROCPROFSYS_ROCM_VERSION and remove blocks for `ROCPROFSYS_ROCM_VERSION < 60000`
- Remove ROCPROFSYS_USE_ROCTRACER and ROCPROFSYS_USE_ROCPROFILER
- Update test cases
- Update docker files and workflows to install cmake 3.21, which is required for the rocprofiler-sdk findPackage script.
- Removed rocm-6.2 from workflows due to a rocprofiler-sdk API change.
[ROCm/rocprofiler-systems commit: 88aa2d3cbe]
* Add installers for rocm-6.3 and rhel-9.5
* Updated the template "rocprof-sys-install.py.in".
Fixed the installer for the "rocm-x.y.z" style tags.
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
[ROCm/rocprofiler-systems commit: 7e2242414c]
- Porting from https://github.com/ROCm/omnitrace/pull/411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows
[ROCm/rocprofiler-systems commit: 7dce5926a7]
- Fix for proto files not being viewable in Perfetto UI
- Ported from https://github.com/ROCm/omnitrace/pull/411
- Update Workflows
- Use V47 trace_processor_shell for certain OS releases.
- RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
- Incompatible version of GLIBC.
- Remove notes about Perfetto workaround in documentation.
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
[ROCm/rocprofiler-systems commit: 21d9ab79fd]
Updated OS test matrix to match ROCm 6.2.
Update build and CI docker files
Remove the "docs" workflow, because "read-the-docs" is now being used for ROCm documentation
[ROCm/rocprofiler-systems commit: b15c9e94fc]
The Omnitrace program is being renamed.
Full name: "ROCm Systems Profiler"
Package name: "rocprofiler-systems"
Binary / Library names: "rocprof-sys-*"
---------
Co-authored-by: Xuan Chen <xuchen@amd.com>
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
[ROCm/rocprofiler-systems commit: d07bf508a9]
* Add `amd-staging` and `amd-mainline` to workflow
* Update links in documentation to use amd-mainline
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
[ROCm/rocprofiler-systems commit: 6c28e49d11]
Fix for "SWDEV-479652" - Perfetto-based tests are failing.
Updated version of perfetto submodule to v46.0.
Modified Omnitrace code that uses Perfetto, so it can compile.
Modified the testing code, so it can run the version of trace_processor_shell provided (v46.0).
---------
Signed-off-by: Aleksandar Janicijevic <Aleksandar.Janicijevic@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
[ROCm/rocprofiler-systems commit: 96d7b8f0ab]
* Update build-docker.sh
- support rocm 6.0
* Update cpack workflow
- support rocm 6.0
* Update CI testing workflow paths-ignore
- changes to {docs,cpack,containers,formatting}.yml and docker do not require testing
* Update docker for OpenSUSE
- always use --non-interactive with zypper
- tweak to PERL_REPO when OS version >= 15.4
[ROCm/rocprofiler-systems commit: cfaace38a8]
* 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
[ROCm/rocprofiler-systems commit: 1216fd99a7]
* Support ROCm 5.5 in docker
* Update containers workflow
- add Ubuntu and OpenSUSE container builds for ROCm 5.4 and 5.5
- add RHEL builds
* Update cpack workflow
- build on PR against main when cpack.yml or docker files updated
- removed packaging for ROCm < 5.2 for many OSes
- added packaging for ROCm 5.5
* Update OpenSUSE workflow
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
* Update RedHat workflow
- provide run-name
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
* Update Ubuntu (Bionic) workflow
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
* Update Ubuntu (Focal) workflow
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
- remove testing of ROCm 4.3, 5.0, 5.1
- add testing of ROCm 5.5
* Update Ubuntu (Jammy) workflow
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
- add testing of ROCm latest
* Dockerfile.{rhel,opensuse} update
- remove use of amdgpu-install in favor of installing rocm-dev package
- In ROCm 5.5, amdgpu-install changed meaning of --usecase=rocm (added rocmdev use case)
* redhat workflow update
- remove use of amdgpu-install in favor of installing rocm-dev package
- In ROCm 5.5, amdgpu-install changed meaning of --usecase=rocm (added rocmdev use case)
* build-docker.sh update
- add '--progress plain' to docker build commands
* Ubuntu (jammy) workflow update
- fix rocm installation
* Update Dockerfile.rhel
- add LIBRARY_PATH for /opt/amdgpu/lib64 for redhat
* Update Dockerfile.rhel
- install libpciaccess for rocm
[ROCm/rocprofiler-systems commit: 693f753a9e]
Remove docker hiplibsdk from amdgpu-install
- amdgpu-install use case hiplibsdk is not necessary and bloats the install
- same as above for package rocm-hip-sdk
[ROCm/rocprofiler-systems commit: 2ce0cb4a19]
* Long workload name layout fix (#269)
* changed layout to fit experiment names
- added span to show full name
- shortened name to fit dropwdown
- changed layout for added consistency
* layout Fixes
- refresh button is to the right
- header is more consistent across different width screens
* header layout update
- center div makes turns into multiple lines if not all items fit
* slight improvement for header/graph spacing
* Fixed refresh button shape and function
- moved find_causal_files to parser so that main and gui can access
- resized refresh width to allow for same shape across different screens
* all graphs now have the same width
- graphs now have same width
- chart headers start well below the header with filters
---------
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
* Causal GUI: Linting, synced y-range, remove unused imports/variables, and bug fixes (#274)
* GUI: python linting workflow
- runs flake8 on code in source/python/gui
* GUI: flake8 settings in source/python/gui/setup.cfg
- ignore E501 errors (line too long)
- ignore W503 errors (line break before binary operator)
* GUI: setup.py updates
- remove unused imports
* GUI: __main__.py updates
- stddev is float value
- remove unused imports
- effectively propagate the --stddev argument
* GUI: gui.py updates
- remove unused imports
- fix light mode
- sync initial y range of all causal plots
- fix error bars for causal data
- set x-ticks to 5
- set y-ticks to 10
- only display top 99% of samples
- separate global declarations and assignments to global values
- remove unused variable assignments
- fix mislabeled function_regex and exp_regex
- change if X == False to if not X
* GUI: header.py updates
- remove unused imports
- fix mislabeled function_regex and exp_regex
* GUI: parser.py updates
- add set_num_stddev function for manipulating global num_stddev value
- remove unused variables
- fix latency point object (duplicated __init__ function)
- fix handling latency in JSON
- fix formatting of validation format error message
- replace if X == False with if not X
- fix unused dataframe creation in add_latency
- fix flake8 do not assign lambda for name_wo_ext (use def)
* GUI: gui.py updates
- replace misnamed "func_list" with "experiment_list"
- replace misnamed "exp_list" with "progpt_list"
* GUI: fix python workflow
- quote python versions to avoid truncating 3.10 to 3.1
---------
Co-authored-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
[ROCm/rocprofiler-systems commit: cc14b52584]
* omnitrace-exe -> omnitrace-instrument
- Renamed omnitrace executable to omnitrace-instrument
- Provided dummy omnitrace exe which forwards onto omnitrace-instrument
- updated all docs to reflect the name change of the executable
- however, it is possible some were missed
* Update dyninst submodule
- correctly handle BOOST_LINK_STATIC in DyninstBoost.cmake
* Disable IPO for omnitrace-instrument
[ROCm/rocprofiler-systems commit: ab0e5d9b44]
- additional miscellaneous tweaks to workflows and docker scripts, e.g. install perfetto python bindings
- improves the stability of MPI finalization
- reduces some debug messages within timemory when `OMNITRACE_DEBUG=ON`
- fixes issue found in RHEL where libunwind is using mutex and omnitrace was not treating this as an internal mutex call
- this may have been affecting the causal profiling slightly (tests seem a bit more stable now)
- fix data race in timemory
* Add RedHat CI and release packaging
- additional miscellaneous tweaks to workflows and docker scripts, e.g. install perfetto python bindings
* Fix URL for ROCm packages in redhat workflow
* Fix dnf --enable-repo for ROCm perl packages
* Dockerfile.rhel and redhat.yml updates
- Fix dnf repo for ROCm PERL packages
- Disable python in CI (interpreter segfaults)
- Exclude parallel-overhead-locks tests due to inclusion of internal locks
- This needs to be remedied in the future
* Exclude _dl_relocate_static_pie from instrumentation
* Testing updates
- OMNITRACE_SAMPLING_KEEP_INTERNAL=OFF for parallel-overhead-locks
* Fix redhat workflow
* redhat.yml update
- remove if condition on config/build/test step
* Update timemory submodule
- tweaks to verbosity messages
* Set thread state before unw_step
- on Redhat, unw_step calls mutex
* Update timemory submodule
- verbosity changes
- gotcha uses spin_lock/spin_mutex
* Remove using gsplit-dwarf unless OMNITRACE_BUILD_NUMBER > 2
* Re-enable parallel-overhead-locks tests in redhat workflow
* Always disable timemory manager metadata auto output
* testing updates
- tweak parallel-overhead-locks-timemory to higher instruction count min
- OMNITRACE_SAMPLING_KEEP_INTERNAL=OFF for parallel-overhead-locks-perfetto
* Update timemory submodule
- quiet realpath queries
* omnitrace exe updates
- detect text files
- improved bin/lib locating
* cmake format
* test-install.sh and redhat workflow updates
- handle testing when ls is script
- re-enable python testing on redhat workflow
- invoke test-install.sh in redhat workflow
* Misc guards for finalization
* omnitrace-exe, testing updates
- test-install.sh: LS_EXEC -> LS_NAME
- handle /usr/bin/ls being script in source/bin/tests
- improve locating the binary
* Fix mpi_gotcha compile error
* omnitrace-exe updates
- improve file locating
* formatting
* Misc fixes
- remove -static-libstdc++ for RHEL packaging (rocky-linux doesn't distribute static lib)
* omnitrace-exe paths
* Replace realpath with absolute
- using absolute path to symlink fixes issues with locating libdyninstAPI_RT at runtime
* omnitrace exe updates
- judicious use of realpath
* Update timemory submodule
- fix update main hash ids/aliases data race in merge
* bin tests update
- change working directory of omnitrace-exe-simulate-lib-basename
* omnitrace exe updates
- Update resolved exe/lib messaging
* bin tests update
- change working directory of omnitrace-exe-simulate-lib-basename
[ROCm/rocprofiler-systems commit: 1688a027d8]