* Update lib/rocprofiler-sdk/context/context.*
- get_registered_contexts functions (local copy)
* Update lib/rocprofiler-sdk/hsa/{queue,queue_controller}.cpp
- remove ROCPROFILER_BUFFER_TRACING_MEMORY_COPY code
* Update tests/kernel-tracing/kernel-tracing.cpp
- move stop() and flush() in tool_fini to before reporting of sizes of data collected
* Update lib/rocprofiler-sdk/hsa/hsa.*
- remove stale set_callback / activity_functor_t code
* Update lib/rocprofiler-sdk/buffer.cpp
- full wait instead of returning busy when buffer is busy
- use task_group::join instead of task_group::wait to fully wait for tasks to finish (bug fix)
* Update lib/rocprofiler-sdk/agent.cpp
- support agent mapping for CPU agents
* Remove direct access to vector of registered contexts
* Update lib/rocprofiler-sdk/counters/{tests,parser/tests}/CMakeLists.txt
- use rocprofiler-static-library instead of rocprofiler-object-library
* Update scripts/run-ci.py
- support gcovr and pycobertura
* Update CI workflow for code coverage
- load/save cache for XML code coverage (via gcovr)
- generate and write code coverage comment
- archive code coverage HTML report
- fix name for sanitizer jobs
* Update CI workflow
- tweaks to env for PATH and LD_LIBRARY_PATH
* Add scripts/upload-image-to-github.py
- script for saving images to orphan branches to be used in markdown links
* Update CI workflow
- fix upload artifact conflict
- use upload-image-to-github.py
* Update CI workflow
- install extra packages for wkhtmltopdf/wkhtmltoimage
* Update CI workflow (code coverage)
- install more recent git
- tweak package installs for wkhtmltopdf/wkhtmltoimage
* Update CI workflow (code coverage)
- remove duplicate --cap-add=SYS_PTRACE
* Update CI and upload-image-to-github.py
- print versions
* Update upload-image-to-github.py
- check exit code of some subprocesses
* Update CI workflow
- fix GITHUB_PATH ordering
- fix LD_LIBRARY_PATH
* Update CI workflow
- fix code coverage cache keys (use SHAs)
- copy .codecov to .codecov.ref if a cached .codecov exists
* Update upload-image-to-github.py
- Update git pull/push commands
* Update upload-image-to-github.py
- git fetch before pulling
- git pull before committing
* Update upload-image-to-github.py
- git fetch after committing
- git pull after committing
* Update CI workflow
- list files before cat
* Update upload-image-to-github.py
- output messages
* Update CI workflow and upload-image-to-github.py
- fix output directory path for script to work with CI workflow
* Update CI workflow
- finishing touches/fixes on the code coverage comment generation
* Reproducible filenames
* Update CI workflow
- fix archive of code coverage data
* Fix relative path of reproducible file loc
* Update upload-image-to-github.py
- change update method
* rocprofiler-v2-internal -> rocprofiler-sdk-internal
* Fix packaging
- Bump version to 0.3.0
- Set CMAKE_INSTALL_DEFAULT_COMPONENT at high level
- Fix HOMEPAGE_URL
- Update install components
- Install tests directory
- Create two separate packages: core and tests
- Auto-generate deps based on shared libs (DEB and RPM)
- Auto-generate list of shared libs provided by package (DEB and RPM)
- cleanup cmake/rocprofiler_register_utilities.cmake
* Enable sanitizer jobs
* Update cmake/rocprofiler_register_memcheck.cmake
- set env for LD_PRELOAD
* Update tests for sanitizer jobs
* Remove loading librocprofiler64.so
- this library does not have rocprofiler_set_api_table symbol
* Link to static fmt library
* 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>
1. Modified rocprofiler_record_profiler_t to include xcc_index
2. Modified file plugin to add additional column XCC_Index to the csv
Change-Id: Ic526c739e16b50dca5704070ccabbcbecd994d6a
* Update GitHub links
* Update samples/api_buffered_tracing/client.cpp
- check if initialized before forcing initialization
* Add lib/common/static_object.*
- template class for creating a static allocation in the binary which has all the properties of a heap allocated singleton but does not trigger leak sanitizers
* Update include/rocprofiler-sdk/internal_threading.h
- document return values
* Update lib/rocprofiler-sdk/internal_threading.cpp
- return codes from rocprofiler_create_callback_thread and rocprofiler_assign_callback_thread
- use common::static_object for thread-pool object
* Update lib/rocprofiler-sdk/agent.cpp
- use common::static_object to store array of strings and their hashes
* Update lib/rocprofiler-sdk/hsa/code_object.cpp
- use common::static_object to store array of strings and their hashes to ensure strings exist until termination
* Update lib/rocprofiler-sdk/registration.cpp
- use common::static_object to store status and client libraries
- update return values for rocprofiler_set_api_table
* Update lib/rocprofiler-sdk/hsa/hsa.cpp
- check registration::get_fini_status() in hsa_api_impl::functor<Idx>(args...)
* Update lib/rocprofiler-sdk/context/context.cpp
- using common::static_object for correlation id map
This reverts commit 803e37ded5.
This commit disables core dump feature. Apparently, gfx1101 SA1 waves
can not enter the trap handler because they receive an invalid
address. However, core dump at the debugger has been moved to rocm
6.2.
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: I7915caf58118658e5e7f435f91a0a6216d2fdb42
On some systems, pthread_addr_setaffinity_np does not exist, so we need
to use pthread_setaffinity_np on thread after pthread_create
Provided by Julian Samaroo on github
https: //github.com/RadeonOpenCompute/ROCR-Runtime/pull/143
Change-Id: I4649f94333f2d7b0a5993b370a4bfc48d92acecb
* 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>
* Restructured tests
- support standalone compilation
- move tests/kernel-tracing/serialization.hpp to tests/common/serialization.hpp
- created tests/common library
- handle cloning of cereal library in standalone build
* Update install and packaging
* Update cmake/rocprofiler_config_packaging.cmake
- condense core, samples, development, and tools install components into single rocprofiler-sdk package
- keep tests install component in separate rocprofiler-sdk-tests package
* Update CI workflow to test install and packaging
* Update CI workflow
- install newer cmake for packaging checks
* Update cmake/rocprofiler_config_packaging.cmake
- disable auto-generation of shared-lib deps and provides for tests package
* Update CI workflow
- add sbin to PATH for dpkg install
* Update CI workflow
- remove using github.workspace when installing packages
* Update CI workflow
- hack to fix ordering of dpkg install
* Update CI workflow
- whitespace cleanup
When xnack is on shadder code in this test triggers gpu page fault that migrate
data from system ram to vram. Use svm range granularity to move all data from
system buffer to vram to reduce system ram pressure to avoid system ram oom for
systems that has less system ram.
Signed-off-by: Xiaogang Chen <Xiaogang.Chen@amd.com>
Change-Id: I219472210756be319491f7827f7209fe32726f81
* 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>
* 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