Commit Graph

8938 Commits

Author SHA1 Message Date
Tony Gutierrez 6abb993f65 rocr/aie: Add AMD AIE Embedded Runtime vendor packets
Adds support for the packet interface for interacting with
the Embedded Runtime (ERT) on AIE agents. The ERT is what
interprets command packets send to the AIE agent work
queues.

Change-Id: Id28fb98056b2c046354c446bdc9568d74385bea1
2024-09-19 19:44:53 +00:00
Tony Gutierrez 931733d51a rocr/aie: Add support for creating AIE queue context
Adds support for initialzing the XDNA driver so that
a hardware context can be created for an AIE queue.

Right now this initializes the device heap in the driver,
gets the relevant tile parameters for the AIE agent,
and creates a hardware context that backs the AIE queue.

Change-Id: Ib90e1bc67a8637f6db3ff2bebe34677843796417
2024-09-19 19:44:53 +00:00
Chris Freehill f8d63e2fb4 hsakmt: Update amdp2ptest.c license to MIT
Change-Id: I1eb814dbb4b420840d9877fc6a4806708754ac69
2024-09-19 19:44:53 +00:00
David Yat Sin d6ec7b6489 rocr: Remove unnecessary function declarations
Change-Id: Ia2613ce74cac808f9239fc24049b57b7b1abaed9
2024-09-19 19:44:53 +00:00
David Yat Sin 12e299e8d4 rocr: Fix compile error
Change-Id: Iae6bf08e834a426f6f97cbc51d2a1a38199015bd
2024-09-19 19:44:53 +00:00
Shweta Khatri c30ff893a6 Add rocprofiler-register dependency to build
Ensure rocprofiler-register is linked and added to DEB and RPM package dependencies.
Github ticket - https://github.com/ROCm/ROCm/issues/3654

Change-Id: Iaaaca8bfa81ca33da147673ef1be798109b70aa5
2024-09-19 19:44:53 +00:00
David Yat Sin 924e11ba7f rocr: Increase queue size for co-op queues
Increase queue-size for co-op queues to 16K to improve performance on
some workloads

Change-Id: I4d3bf0ecbd30ebb648b68d9c5fdabadc670a386c
2024-09-19 19:44:53 +00:00
David Yat Sin 3cb25e5236 rocrtst: Add negative test for invalid buffer free
Add a negative test to try to free the ring buffer of a queue and
confirm that a memory error is generated.

Change-Id: I4afd95c69c62f7c3e1138d5d6c4a5fd237631e43
2024-09-19 19:44:53 +00:00
Wang, Yanyao c064218637 Remove hard-coded llvm-project folder for rocrtst
Signed-off-by: Wang, Yanyao <yanyao.wang@amd.com>
Change-Id: I9ba81c1182da812596d7d314f3a6dae7cbcd0c2d
2024-09-19 19:44:53 +00:00
Zhang Ava af2507807f Merge amd-staging into amd-master 20240917
Signed-off-by: Zhang Ava <niandong.zhang@amd.com>
Change-Id: I198c849530508a90eee8ae5454035b9c610b3f5a
2024-09-19 18:44:19 +08:00
David Galiffi ce1cea95e4 Update data-collection-modes.rst (#386)
Fixed a typo.
"fewer than 1024 instructions" should be "at least 1024 instructions"
2024-09-18 21:05:56 -04:00
Sam Wu cc45896bf5 Add dependabot config for updating documentation requirements (#1018) 2024-09-18 11:31:17 -06:00
Bill(Shuzhou) Liu 9800528c19 Update the hsaco for diagonstic on MI300X
Add hsaco for gfx940, gfx941 and gfx942

Change-Id: Ibd55fcc2d036d1190357e1e86d4e170568426d94
2024-09-17 14:15:35 -05:00
Jonathan R. Madsen d7874f3496 Fix roctracer-roctx test (#1088)
- original format using generator expressions (`$<IF:$<TARGET_EXISTS:...>,$<TARGET_FILE:...>,>`) appears to cause issues with older CMake versions
2024-09-17 08:59:34 -05:00
David Galiffi 079cdd5512 Update opensuse.yml (#383)
Update nick-fields/retry to v3
Updates to Node20
2024-09-16 17:03:02 -04:00
James Xu fe6a49d186 SWDEV-478077 - logging.warn used instead of logging.warning
- logging.warn() is deprecated in favour of logging.warning()
- for some reason, this is the only place in all of rocm_smi.py
	that uses logging.warn() as pointed out on github
	https://github.com/ROCm/rocm_smi_lib/issues/187

Change-Id: Ie1e4a0ea16b996fbed2e902c8edfe68087a5a5fa
2024-09-16 13:50:26 -04:00
Gopesh Bhardwaj 863b608ae3 comparing tool options in rocprof/rocprofv2/rocprofv3 (#1050)
* comparing tool options in rocprof/rocprofv2/rocprofv3

* Added more perfetto options

* Added new summary optipons

* Added Category for all options

* Apply suggestions from code review

Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>

* changes requested in SWDEV-484472

* Correct broken table formatting

* detailed explanation on json custom format

* Feedback Resolution

---------

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>
2024-09-16 20:08:11 +05:30
David Galiffi 2a77770486 Correct perfetto submodule pointer
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-09-13 19:06:00 -04:00
Li Ma ca569346a3 SWDEV-445415 - Pthread detach instead of pthread join
Detcah the thread which handle shutdown signals instead of joining
thread can avoid the segfault issue on specific ASIC.

Signed-off-by: Li Ma <li.ma@amd.com>
Change-Id: I74ac53c027ac370605caaa87115c83fd8027526a
2024-09-13 18:32:37 -04:00
Jonathan R. Madsen 7861dcc6c6 Update HIP tracing ABI (#1025)
* Update HIP ABI tracing

* Minor HIP abi.cpp updates

* Misc roctx updates (version.h + more)

* Common static thread-local template struct

- static_tl_object
- similar to static_object but with thread-local semantics

* rocprofiler-sdk/version.h updates

* Update for HIP_RUNTIME_API_TABLE_STEP_VERSION == {4,5,6}

* Fix roctx.cpp tweaks
2024-09-13 17:10:35 -05:00
Sam Wu b5df3a2135 Bump rocm-docs-core to 1.7.2
Update documentation requirements

Change-Id: I19cd1a96309844898e112777412e9c006a8874a0
2024-09-13 14:01:46 -06:00
Peter Park 5a42457afe Fix links in readme (#379)
fix links in readme
2024-09-13 16:00:08 -04:00
jamesxu2 6f22b2d2e5 Change Perfetto Source to Github (#373)
- Current Perfetto source repo is from android.googlesource
        which is censored in China and causes an infinite
        hang when building Omnitrace
- This commit changes the Perfetto source repo to Github which acts
        as a read-only mirror to the googlesource perfetto
        repo.

Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2024-09-13 15:59:27 -04:00
venkat1361 bc82eccf4f SWDEV-476852 - Check added for agent architecture counters support. (#1022)
* check added for agent arch support

* formatting issue
2024-09-13 11:28:00 -07:00
ajanicijamd 96d7b8f0ab Update Perfetto and fix tests (#378)
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>
2024-09-13 13:43:26 -04:00
Galantsev, Dmitrii 660c5afaf4 Disable RVS as the error scares people
Change-Id: I572fdb65dd8882ab4fdc1474cb39fc0e493b1eab
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-09-13 10:42:59 -05:00
Zhang Ava 743bd50aa5 Merge amd-staging into amd-master 20240911
Signed-off-by: Zhang Ava <niandong.zhang@amd.com>
Change-Id: Iaa1be5b9c6eb4c205ced9d610feada93ad28aa50
2024-09-13 18:31:57 +08:00
Jonathan R. Madsen 92c0c9d252 Fix OTF2 build dependency (#1080)
- systems with many cores (e.g. 128) had a race condition between compiling generateOTF2.cpp and the otf2-build make install step
2024-09-13 03:16:06 -05:00
itrowbri 8d7be2e4b4 SWDEV-483130: Replace calls to deprecated functions hipHostMalloc/hipHostFree (#1070)
* SWDEV-483130: Replace calls to deprecated functions hipHostMalloc/hipHostFree

* SWDEV-483130: Replace calls to deprecated functions hipHostMalloc/hipHostFree. Moved definitions from lib/commons/defines.hpp to samples/common/defines.hpp and tests/common/defines.hpp

* Updated comment for clarity

* Update tests/rocprofv3/aborted-app/validate.py

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Formatting

* Formatting

* Updated CHANGELOG

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-12 18:31:00 -05:00
Mythreya efbe4ea0a2 Enable queue interception with scratch reporting (#1069)
* Enable queue interception with scratch reporting

Scratch reporting reports agent ID in buffer and callback records, but
HSA runtime provides only queue ID in the scratch callback.

This change enables queue interception when scratch reporting is requested

* Validation test for rocprofv3 + scratch-memory-trace

* Simplify checks for whether context is tracing a domain

* Update changelog

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2024-09-12 18:26:34 -05:00
Jonathan R. Madsen 6098d52335 Prevent misaligned read from common::container::ring_buffer (#1076)
- causes undefined behavior
2024-09-12 18:25:05 -05:00
Jonathan R. Madsen 8c1382fceb Package RCCL headers to support adding RCCL support w/o installed headers (#1075)
- in ROCm CI, rocprofiler-sdk gets built before RCCL is installed, this is a workaround for this issue
2024-09-12 18:24:50 -05:00
itrowbri 348c547039 Updated README and CHANGELOG to contain information about --no-serialization flag option
Change-Id: I5a4ea5cba34a33ed27a784bcea07db0e212839d9
2024-09-12 10:18:46 -05:00
gobhardw c2701e4da4 SWDEV-484201 removing extra licenses
Change-Id: I1a1fb1e9487f1a3e63e9551278bd62b8f930792a
2024-09-12 19:58:45 +05:30
Jonathan R. Madsen d5bcb63263 rocprofv3 Kokkos-Tools Support (#1058) 2024-09-12 00:46:07 -05:00
Mythreya 2a146259c7 Add support for RCCL tracing (#1047)
* [Draft]: Add support for RCCL tracing

Address comments

* [Draft]: Add support for RCCL tracing

Address PR comments, changes from RCCL upstream

* Add RCCL library table registration

Working on adding support to rocprofiler-register

* Support compilation w/o <rccl/amd_detail/api_trace.h>

- dummy api_trace.h header
- return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED when RCCL does not have api_trace.h header

* RCCL API tracing tool support

- add to rocprofv3
- add to json-tool

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2024-09-12 00:42:58 -05:00
Mythreya b71f9cabe6 Add rccl API support (#66)
* [Draft]: Add rccl API support

* Partial tests

Need to add tests to the cmake file
2024-09-11 17:57:51 -05:00
Jonathan R. Madsen 72cbcedc9e LD_PRELOAD librocprofiler-sdk-roctx.so when marker-trace enabled (#1057)
* LD_PRELOAD librocprofiler-sdk-roctx.so when marker-trace enabled

- this enables apps to link against old ROCTx (libroctx64.so) but get marker tracing in rocprofv3

* Update CHANGELOG

* Validation test for app linked to old (roctracer) ROCTx library

* Tweak scope of tool_counter_info

- causing "signal-unsafe call inside of a signal" error for ThreadSanitizer on mi200

* Fix handling of missing transpose-roctracer-roctx

* Disable rocprofv3 aborted-app test (ThreadSanitizer)

- ThreadSanitizer + mi200/mi300 + aborted-app results in a signal-unsafe call inside a signal that cannot be specifically suppressed as usual via rocprofv3_error_signal_handler for some unknown reason

* Add UndefinedBehaviorSanitizer job
2024-09-11 15:27:35 -05:00
David Galiffi 1413ab612d Update CODEOWNERS (#382) 2024-09-11 14:44:28 -04:00
Gopesh Bhardwaj df939cbe96 SWDEV-48112 Counter header and OTF2 updates (#1042) 2024-09-11 08:15:03 -05:00
Giovanni Lenzi Baraldi 474b72b4fc Removing unecessary barrier packet (#1017) 2024-09-11 16:29:57 +05:30
Gopesh Bhardwaj 0e7f9444e8 Update git clone URL + few documentation fixes (#1066) 2024-09-11 15:09:21 +05:30
Li Ma 183c65c8b2 SWDEV-483668 - Drop -shared-libasan flag for GCC compiler
Libasan is in gcc by default, thus building RDC with ASAN
enabled by GCC doesn't need -shared-libasan.

Change-Id: I8078f7ea5d46c6beea29c2823db3357a67f00b60
Signed-off-by: Li Ma <li.ma@amd.com>
2024-09-10 23:13:15 -04:00
Gopesh Bhardwaj a4b3a57ecc Fix rocprofv3 output filename containing sub-directory (#1062)
* Fix -d option broken by hostname

* Fix rocprofv3 output filename containing directory

* Fix TID handling in Perfetto and OTF2 output

* Revert changes which removed hostname

* Revise tests/rocprofv3/tracing output filenames

- specify an output filename for tests which include a subdirectory

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2024-09-10 17:49:36 -05:00
Jonathan R. Madsen 37e0d7efce Fix misaligned stores in buffer (#1063)
* Fix misaligned read/write to buffer

- causes undefined behavior

* Update run-ci.py

- fix spurious CDash submission failure warning

* Improve run-ci.py support for UBSan

* Relax rocprofv3 summary stats count expectation

* Update CHANGELOG
2024-09-10 17:08:57 -05:00
Oliveira, Daniel 72b112f8f3 [SWDEV-483822] rocm-smi shows 'warning' for unsupported curves
Options '--showvoltagerange' and '--showvc' show 'warning' instead of 'error' for unsupported voltage curves

Code changes related to the following:
  * CLI

Change-Id: Ide662c98202c32ad01ccaf3c47a61f2543f82ebb
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>
2024-09-10 11:36:36 -05:00
Chen Gong 0cfca6d93d Implement the discovery -v command line interface
Call the previously implemented get_rdcd_version and rdc_get_smiversion

Change-Id: If76037d462fa9328c3af8c85423ee4547882e36e
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong 1edd04d84e Implement the code related to the GetMixedComponentVersion()
Change-Id: I98aad97b4cb6498b7f2fc03a2d5ee7c9e949d5f1
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong 8db404f84f Provide a way for rdci to get component version
For rdci, the version information of some components(such as RDCD),
cannot be obtained through the rdc_device_get_component_version API.

Here create a fake rdc API to get them.

Change-Id: I75d8bcd1993873cff209995b58362f75787a4598
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong 5a3fd9fbc1 Implement rdc_device_get_component_version API related code
Implement an API to obtain the version information of the rdc calling component.
See rdc_component_t for details on available components.
It can be expanded later if necessary.

Change-Id: I03b48f774179c52c57b606704283add74ca39a02
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00