Commit Graph

10773 Commits

Author SHA1 Message Date
Tony Gutierrez 4bf102dc6b rocr/aie: Support VMEM handle creation
Adds support for AllocateMemoryOnly inside XDNA driver.

Move the IsLocalMemory() check inside the KFD driver
since the XDNA driver can, and needs to, create handles
on system memory buffer objects.

Changed handle variable name from thunk_handle to user_mode_driver_handle,
which is more representative if we support non-GPU drivers.

Change-Id: I95db9d575afd1ab0ff2de74cea5175d9a12a721b
2024-09-19 19:44:53 +00:00
Tony Gutierrez 54a459c05c rocr/aie: Allocate AIE queue's ring buf
Change-Id: I799a8223d695ec5c0ea2eaea012bc1b5d877e103
2024-09-19 19:44:53 +00:00
Kent Russell 2a9572dda0 hsakmt: Fix BUILD_SHARED_LIBS usage
If BUILD_SHARED_LIBS doesn't get set at all, other projects importing
hsakmt may have an inconsistent state regarding SHARED vs STATIC.
Instead of setting the option and setting it as an option(), just detect
the variable and use it

Change-Id: I9d5a5fc6049ca5351f5e7c63d38ee9bfcb89bdad
Signed-off-by: Kent Russell <kent.russell@amd.com>
2024-09-19 19:44:53 +00:00
Kent Russell 3b61f75f49 hsakmt: Remove unused functions
The fmm_node_[added|removed] functions were added in the initial FMM
support, but weren't used. Remove them now since no one's referencing
them

Change-Id: I1e46e57294a72012227b38f46c7099de0b9263be
Signed-off-by: Kent Russell <kent.russell@amd.com>
2024-09-19 19:44:53 +00:00
David Yat Sin 0f241d4061 hsakmt: Add debug prints to trace mem allocations
Add extra debug prints to trace memory alloc and register

Change-Id: I03d8d7d415565916a8336db6e7063bb7d4cb9102
2024-09-19 19:44:53 +00:00
Ramesh Errabolu 71fa3fa19b Do not check default value of SVM attribute Granularity
Change-Id: I3cf97fc551259c873351cfd22fc83e8615cc3e56
2024-09-19 19:44:53 +00:00
Ranjith Ramakrishnan d60f56ab32 Remove license file from hsa-rocr-devel package
License file is already there in hsa-rocr package .Devel package do not need the same

Change-Id: I08cceeb169d0c061078cd495342f78c089087f0d
2024-09-19 19:44:53 +00:00
Tony Gutierrez a851f73da5 rocr/aie: Init mem regions for AIE agents
Change-Id: If180bdbcb3eb659f0d05a710526864494316d7a9
2024-09-19 19:44:53 +00:00
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
itrowbri 887e107fb1 Updated README and CHANGELOG to contain information about --no-serialization flag option
Change-Id: I5a4ea5cba34a33ed27a784bcea07db0e212839d9


[ROCm/rocprofiler commit: 348c547039]
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
gobhardw 10e9800220 SWDEV-484201 removing extra licenses
Change-Id: I1a1fb1e9487f1a3e63e9551278bd62b8f930792a


[ROCm/rocprofiler commit: c2701e4da4]
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 13c0bf8e2b Add rccl API support (#66)
* [Draft]: Add rccl API support

* Partial tests

Need to add tests to the cmake file

[ROCm/rocprofiler-register commit: b71f9cabe6]
2024-09-11 17:57:51 -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