커밋 그래프

724 커밋

작성자 SHA1 메시지 날짜
Elwazir, Ammar 6f17da7ade [rocprofv3-benchmark] SDK and rocprofv3 Benchmarking Suite (#157)
* Adding Benchmarking Stg1

* config fix

* reset

* add jpeg and decode traces in iteration

* address comments benchmark config files.

* address comments.

* address comments.

* address comments: revert cntrl ctx.

* address comments: revert csv output.

* resolve merge conflits.

* format.

* build fix.

* fix hip runtime api traces.

* loop cb services.

* format.

* bug fix.

* Fix operator>

- public C++ comparison operator

* Update configuration options

- support selected regions (--selected-regions)
- support writing output config json (--output-config)
- update serialization data

* rocprofv3 tool library misc updates

- lambda for starting context
- support for writing config json

* Tool library updates

- Finished support for all benchmarking modes
- Added build spec support to config json

* Fix ROCPROFILER_SOVERSION

- this value should not be multiplied by 10,000

* Minor tweak to rocprofv3

* Benchmarking scripts

* formatting

* Fix duplicate include

* Add reproducible-dispatch-count test app

- used in benchmarking

* registration logging

- report number of registered contexts and active contexts after client initialization

* Serialize environment in rocprofv3 output config

* ROCPROFILER_BUILD_BENCHMARK CMake option

* Update benchmark SQL schema

- hash_id is text
- add md5sum to benchmarked_app
- remove app_id from benchmarked_sdk
- add sdk_id to benchmark_config
- separate hip_trace into hip_runtime_trace and hip_compiler_trace
- use INT instead of INTEGER for MySQL compatibility
- add count column in benchmark_statistics
- allow std_dev to be NULL in benchmark_statistics

* Update rocprofv3-benchmark.py

- use md5 instead of python hash (which includes random seed)
- use args.mysql_database
- compute md5sum of executable
- fix insert_benchmark_config
  - marker trace fixes
  - memory allocation fixes
  - split hip_trace into hip_{runtime,compiler}_trace
- remove app_id from benchmarked_sdk
- support warmup runs
- count field in benchmark_statistics

* Support launcher and environment in YAML

* Update reproducible-dispatch-count.cpp

- support mode which doesn't use hip event timing

* Misc rocprofv3-benchmark.py updates

- fix some MySQL support
- remove some unnecessary logging

* support mysql db.

* Format.

* Updated SQL input files

- moved benchmark_schema.sql to benchmark_table.sql
- added benchmark_views.sql
  - uses {{metric}} syntax for variable substitution

* cmake formatting

* update rocprofv3-benchmark.py

- benchmark config labels
- overhead views

* Encode rocprofv3-benchmark PID in rocprofv3 and timem output files

* Minor tweak to benchmark_views.sql

- include count
- reorder fields for readability

* split statements and use IS if values is NONE.

* use backtick instead of double quotes and add IS before NOT NULL.:

* Adding Mandelbrot Benchmark App

* Adding Dockerfile example

* Update dockerfile

* Update dockerfile

* [SDK] rocprofiler_query_external_correlation_id_request_kind_name

* Execution-profile benchmark mode

* Execution profile SQL support

* Rename mandlebrot folder + misc clang-tidy

* [rocprofv3-benchmark] Execution profile support

* Update installation

* add work dir when setting git revision, useful when building outside src.

* Set FULL_VERSION_STRING and ROCPROFILER_SDK_GIT_REVISION

- when benchmark folder is top-level

* Remove unused python packages from requirements.txt

* Use ldd/pyelftools to include linked libs for md5sum

- also add --filter-benchmark and --filter-rocprofv3 options
- support labeling the rocprofv3 options
- use more argparse groups
- more generic application of filters
- support variable substitution in environment, e.g. PATH=/some/path:$PATH

* Environment improvements

- improve reproducibility when env set via input file vs. shell
- support "environment-ignore" to remove environment variables

* Misc formatting

* Misc. fix

* use backticks for defining new columns name

* Support shuffling the order of benchmark modes/rocprofv3 args

* Address review comments

* Update Dockerfile

- rename to Dockerfile
- reduce to one layer

* Support docker build arg BRANCH

---------

Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
Co-authored-by: Kandula, Venkateshwar reddy <Venkateshwarreddy.Kandula@amd.com>
Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-05-13 16:18:23 -05:00
Hila, Nino b297e72853 Update palamida.yml (#388)
* Add palamida.yml - removing url
2025-05-12 21:53:08 -07:00
Bhardwaj, Gopesh fbab96e552 Replacing ROCm 6.5 mentions with ROCm 7.0 (#391) 2025-05-12 17:05:45 +05:30
Kuricheti, Mythreya f3ea8b1178 Fix fold expr (#389) 2025-05-09 14:18:19 -07:00
Kuricheti, Mythreya eaf3bbceb7 Add enum to string cxx utils (#153)
* Add enum to string cxx utils

* Add license header

* Address review comments

* Add version assertions

* Address review comments

* Fix thread trace header include

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-05-05 21:02:13 -05:00
Welton, Benjamin 65f60bbb96 Remove unnecessary log line (#387)
Co-authored-by: Benjamin Welton <bewelton@amd.com>
2025-05-02 12:25:32 -07:00
Kandula, Venkateshwar reddy b69e12032e [PSDB] [CI] SWDEV-528922: Modify summary MEMORY_ALLOCATION for summary.txt (#375)
* Update validate.py

* increase memalloc to 4 to account new vmem.

* Format.

* modify test to work when vmem using and not to work.

* address comments.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
2025-05-01 00:58:00 -05:00
Madsen, Jonathan e9757e46ce [Build System] Install FindrocDecode.cmake and FindrocJPEG.cmake (#382)
Install FindrocDecode.cmake and FindrocJPEG.cmake

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-05-01 00:57:37 -05:00
Trowbridge, Ian e626df43eb Fix HIP Streams Duplication Error (#313)
* Fix stream duplication and fixed tests

* Added comments to explain stream.cpp code, change stream nullptr check to occur in update table to prevent readding null stream, simplified hip-streams bin file code, add destroyStreams to hip-streams bin file code

* Removed roctx from CMakeLists.txt

* Updated documentation

* Fix documentation

* Removed update_table for HIP compiler table and updated stream.cpp to remove support for HIP compiler table

* Added runtime initialization check for HIP

* Changed tool name, working on fixing memory management

* Added context for counter collection kernel rename combination

* Changed name from map to set and changed description

* Fix documentation description for group-by-queue

* Merged memory copy and kernel operations onto a single track when on the same stream

* Updated perfetto output to remove hardware information from track name to merge all memory copy and kernel operations on the same stream to the same track:

* Most pr comments addressed

* Added filter for counter collection and removed kernel buffer tracing hack

* Added PR comment fixes

---------

Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
2025-05-01 00:56:15 -05:00
Madsen, Jonathan 4f03ebc360 [CI] Fix code coverage and thread sanitizer workflows (#378)
* Fix code coverage workflow

* Relocate rocprofv3 conversion test script + rename tests

- these are rocprofv3 tests and were not properly located and not properly named

* Fix thread sanitizer

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-28 10:19:04 -05:00
Madsen, Jonathan 032c06db9a Fix evaulate_ast.evaulate_hybrid_counters test (#377)
- broken by #348

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-27 22:42:10 -05:00
Madsen, Jonathan d2bde3ce27 [rocprofv3] Use -P for collection period shorthand option (#356)
* [rocprofv3] Use -P for collection period option

- Reserve -p for profiler attachment

* Update changelog

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-27 20:18:26 -05:00
Madsen, Jonathan 3580478426 Build system (libdw), correlation ID, and shebang fixes (#354)
* Fix compilation for output library

- link to targets for ATT (amd-comgr, dw, elf)

* Relax correlation ID retirement log failures

- only fail for correlation ID retirement underflow when building in CI mode

* Fix shebang for several files

- license was inserted before shebang in several places

* Update code coverage exclude folders for samples

* Tweak to agent tests

- test to make sure hsa agent is not the old value instead of testing that it is the new value

* Fix libdw include/link

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-27 20:16:18 -05:00
Kandula, Venkateshwar reddy 06005c7f6b [SDK] SWDEV-524163 - Add error msg when accumulate is used on counters not from sq block. (#348)
* add error log when accumulate is used on counters not from sq block.

* Address comments.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
2025-04-27 20:03:27 -05:00
Nagaraj, Sriraksha 35069a9d06 [Misc] fix the agent_id field (#297)
* fix the agent_id field

* Fix shebang

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-27 19:56:45 -05:00
Meserve, Mark 61307442f0 [SDK] Fix for hang in hsa_barrier (#316)
* SWDEV-515895: Fix for hang in hsa_barrier

- Root cause of hang is enqueue_packet using a completed barrier
  - This occurs because set_barrier does not correctly mark the barrier
    as complete.
- Fixed by consolidating duplicate code for how a barrier is:
  - Marked as complete
    - Added common function and trace message
  - Checked as complete
    - Removed internal completion tracking variable in favor of signal
- Added some log messages which were useful in tracking this hang
- Destroying an hsa_barrier now calls the provided completion callback

* formatting

* Fix hsa_barrier test

- Removes assumption that enqueue_packet always generates packets
- Add assertion that a complete barrier does not generate packets

* formatting

* Address review comments
2025-04-27 19:55:32 -05:00
Baraldi, Giovanni a8f3397069 SWDEV-528686: ATT fix for gfx12 s_wait_idle. Fixes for csv. Default to parse to trace. Fix for ROCR_VISIBLE_DEVICES. (#345)
* Fix for gfx12 s_wait_idle. Added wait field on att.csv

* Format and default to ATT to trace

* Update .mds

* No fatal error for invalid agent

* Tidy fixes

* Rename wait to idle, removed uneeded headers

* Remove unused traceID

* Tidy fix

* Fix csv output

* Formatting

* Fix tests

* Fix tests

* Fix for visible devices

* Review comment: Fix cmake

* Review suggestion

* Remove changelog/readme

* Review comments

* Review comment for CSV

* Formatting

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
2025-04-25 11:49:16 -05:00
Kuricheti, Mythreya cac3ac1b98 [CI]: test-async-copy-tracing-validate : test_ancestor_ids (#364)
* Add ancestor ID to pftrace

* Simplify hipMemcpyAsync ancestor ID checks

* Review comments
2025-04-25 11:19:17 -05:00
Kandula, Venkateshwar reddy 176f8aea67 [PSDB] [CI] SWDEV-528922: Modify summary MEMORY_ALLOCATION kind tests to account new hip runtime memory manger (#368)
* Modify summary MEMORY_ALLOCATION kind tests to account new hip runtime new memory manager which adds memory pools allocations.

* address comments.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
2025-04-24 19:55:45 -05:00
Bhardwaj, Gopesh bbe9eab53a doc improvements for 1.0.0 (#367)
* correcting rocprofiler_configure

* Fix indexing order

* doc feedback
2025-04-24 17:05:22 +05:30
Bhardwaj, Gopesh 024cf0e5e3 Using miniconda docker (#366)
* Using miniconda docker

* remove sudo

* Remove double install of rocprofiler-docs conda environment

* Fix building docs

* Fix build docs

- Additional system packages

* Using miniforge

* Fixing warning as errors build issue

* cmake formatting

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-23 23:52:03 -05:00
Hila, Nino 09911eebc6 Add palamida.yml (#362) 2025-04-23 21:07:40 -05:00
Trowbridge, Ian c4716afd1c Video file location change for rocDecode (#353)
* Video file location change for rocDecode

* Formatting

* Changed rocJPEG images directory not found to a warning as well

* Minor name update

* Fix rocJPEG disable variable
2025-04-22 14:09:01 -05:00
Bhardwaj, Gopesh 1f1c192a5e Copilot suggestions (#360)
* Copilot suggestions

* Fixing perfetto links

* correcting default value of agent-index
2025-04-22 20:52:37 +05:30
Vaddireddy, Sushma d1e9e3917e Grid dimensions update (#329)
* Grid dimensions update

* minor edit

* CI compilation fix

* Adding target_compile_definitions

* Updating changes as per suggestions

* Skip checks for older grid dimension values

---------

Co-authored-by: Sushma Vaddireddy <svaddire@amd.com>
2025-04-21 15:33:37 -05:00
Bhardwaj, Gopesh 780b96ad3a Remove SDK as beta from docs (#351) 2025-04-21 21:31:14 +05:30
Elwazir, Ammar 8baea19df7 Older Glibc doesn't have gettid (#349)
* Older Glibc doesn't have gettid

* Format fix

* Using internal common get_tid

---------

Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
2025-04-21 10:22:50 -05:00
Nagaraj, Sriraksha 87badfbd15 [rocprofv3] signal handler fix (#332)
* rocprofv3: LD_PRELOAD for signal and sigaction

- wrappers around `signal` and `sigaction` to prevent applications which install signal handlers to replace the rocprofv3 signal handlers
- minor tweaks to buffer sizes (use page_size instead of
KiB)

* [DO NOT COMMIT] extra logging

* Switch git submodule url for perfetto

- use GitHub URL as this is more accessible

* Update ring_buffer<Tp>

- account for alignment padding

* Update buffered_output

- track number of bytes stored
- add nullptr checks

* Update tmp_file_buffer

- track number of bytes
- read_tmp_file does not create tmp file if it does not already exist

* Update tmp_file

- add exists member function for checking whether temporary file already exists
- tweak remove() implementation

* Update config.hpp

- add option to enable/disable signal handlers
- add option for minimum_output_bytes

* Make signal, sigaction functions visible

* rocprofv3 tool updates

- chained signals
- override the signal handler(s) installed by the application
- improve cleanup of temporary files
- support minimum output bytes

* Add commandline support

* fixing test

* minor fix

* minor fix

* fix clang issue

* fix

* Adding docs

* review comments

* review changes

* review

* YUV pulldown additions to rocdecode

* More rocdecode changes

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
2025-04-17 21:10:52 -07:00
Baraldi, Giovanni 46818b0167 SWDEV-527202: Moving ATT to experimental (#335)
* Moving ATT to experimental

* Formatting + rebase

* Addressing review comments

* Formatting

* Update source/lib/att-tool/waitcnt/analysis.cpp

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
2025-04-17 14:43:15 -05:00
Trowbridge, Ian d7c903654e Add buffer tracing header for rocdecode.hpp (#340)
* Add buffer tracing header for rocdecode.hpp

* Add new line for formatting
2025-04-16 13:07:44 -05:00
Kandula, Venkateshwar reddy 235a148ce6 [SDK] remove HIP_MEMSET_NODE_PARAMS for HIP step version to 13 (#343)
* Update api_args.h hip_memset_node_params to version 13

* Update format.hpp move version to 13 hip_memset_node_params
2025-04-16 10:34:48 -07:00
Kandula, Venkateshwar reddy 6cea857c6a [SDK] remove HIP_MEMSET_NODE_PARAMS for HIP step version >= 12. (#334)
* remove HIP_MEMSET_NODE_PARAMS for HIP step version >= 12.

* remove extra ifdef

* format.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
2025-04-15 14:05:15 -07:00
Indic, Vladimir 96a0ef244f MI300 Stochastic PC Sampling Documentation and Changelog (#336)
* MI300 Stochastic PC Sampling Documentation

* Stochastic PC sampling title renaming

---------

Co-authored-by: Welton, Benjamin <Benjamin.Welton@amd.com>
2025-04-15 14:04:19 -07:00
Madsen, Jonathan c5a3edc3fa [Misc] Rework header includes (#311)
* Update header file includes

* Fix includes for lib/rocprofiler-sdk/hip/hip.hpp

* Minor touch ups

* Minor include improvements

* Doxygen tweak

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-04-15 14:02:12 -07:00
Kandula, Venkateshwar reddy bc85151a51 SWDEV-524130: add reduced sum counters for new mi355 counters (#328)
add derived counter for td, tcc, ta.

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
2025-04-15 13:37:28 -07:00
Welton, Benjamin f143333df0 Add SerializedAtomicRatio counter (#327)
Co-authored-by: Benjamin Welton <bewelton@amd.com>
2025-04-15 13:36:34 -07:00
Bhardwaj, Gopesh ca7cce9e81 doc improvements for 1.0.0 part 2 (#330)
* update installation steps

* Github Issue #50 Adding README's for samples

* Making name change to ROCprofiler-SDK for consistency

* Fix HIP trace documentation

* Fix HSA trace in docs

* Fix kernel trace in docs

* Fixing memory copy and memory allocation traces

* runtime trace and sys trace doc update

* Fix scratch memory doc

* kernel naming and filtering options

* Adding collection period in docs

* Perfetto configs update

* summary output file

* kernel trace format fix

* update CHANGELOG

* Agent index doc update

* rocm-smi output

* group by queue option

* Updated --group-by-queue description

* perfetto visualization

---------

Co-authored-by: Ian Trowbridge <Ian.Trowbridge@amd.com>
2025-04-15 13:30:07 -07:00
Trowbridge, Ian 4fbcfd142c Copyright Compliance (#333)
* Added copyright information to requested files

* Formatting

* Fix bad function name error
2025-04-14 13:07:32 -05:00
Trowbridge, Ian 077723337a rocDecode Buffer Tracing Support (#315)
* Added buffer tracing support for rocdecode and updated tests to work with buffer tracing

* Updated perfetto to output args individually rather than as a string list

* Updated docstrings and operation type, changed OTF2 code to remove warning due to change in operation type

* Updated tests for review comments

* Test args exist and return value

* Updated to use string entry

* Change function name

* Updated PR to reflect review comments

* Updated for PR review comments

* Change function name
2025-04-11 21:56:36 +00:00
Rawat, Swati 379d760fc1 Fixing broken link (#326)
* fixing broken link

* added metadata information

---------

Co-authored-by: srawat <120587655+SwRaw@users.noreply.github.com>
Co-authored-by: Bhardwaj, Gopesh <Gopesh.Bhardwaj@amd.com>
2025-04-03 18:12:34 +05:30
Kandula, Venkateshwar reddy a7f96dde29 SWDEV-524130: add missing mi355 counters and derived counters (#323)
* add missing counters from public doc.
;

* add reduce sum counter for mi355 tcc, tcp, ta.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
2025-04-02 09:44:57 -07:00
Mallya, Ameya Keshava 342223cb81 fixed syntax to mainline 2025-04-01 09:52:55 -07:00
Mallya, Ameya Keshava 8178bbc782 Adding !verify features 2025-03-31 13:33:42 -07:00
Baraldi, Giovanni 48c672e23e SWDEV-523436: Fix logging of code object id=0. Add perfevent test. (#318)
* SWDEV-523436: Fix logging of code object id=0. Add perfevent test.

* Apply suggestions from code review

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
2025-03-31 10:34:53 -07:00
Mallya, Ameya Keshava b0563f4590 Added KWS check for amd-mainline 2025-03-28 08:13:07 -07:00
Nagaraj, Sriraksha 10a16aacbf fix changelog (#322) 2025-03-28 12:11:42 +05:30
Bhardwaj, Gopesh 633a32bad7 Deprecation message update (#320)
* Deprecation message update

* Updated Support DL
2025-03-27 12:29:34 +05:30
Meserve, Mark a1fcdf7f83 Additional 1.0.0 changes (#317)
* Additional 1.0.0 changes

- Update VERSION
- Add beta compatibility for rocprofiler_agent_set_profile_callback_t

* Fix location of deprecated typedef rocprofiler_agent_set_profile_callback_t

* rocprofiler_record_counter_t -> rocprofiler_counter_record_t

* Experimental + deprecated annotations

* rocprofiler_record_dimension_info_t -> rocprofiler_counter_record_dimension_info_t

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-26 02:12:03 -05:00
Bhardwaj, Gopesh 6d6eec230c doc improvements and fixes SWDEV-523395,SWDEV-516979 (#314)
* doc improvements and fixes SWDEV-523395,SWDEV-516979

* Adding changes from PR 231
2025-03-26 10:09:08 +05:30
Madsen, Jonathan 2061c52817 Updated source/docs/sphinx/requirements.txt (#310)
- Re-ran pip-compile on source/docs/sphinx/requirements.in

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-24 14:00:49 +05:30