Commit Graph

12066 Commits

Author SHA1 Message Date
Venkateshwar Reddy Kandula 52125f7966 SWDEV-480556:new HIP APIs with struct defined inside union.
- Fixes issue where types defined inside of a union were unable to find by function which generates hip_begin.cpp.i.
- Also works for futureHIP APIs with  nunion,  when defined new types inside it.

Change-Id: If1e1c4f80dc511450fd154d64d39a05f81565220
2024-09-09 01:11:44 +00:00
Venkateshwar Reddy Kandula 1ab3e7930a SWDEV-480556:new HIP APIs with struct defined inside union.
- Fixes issue where types defined inside of a union were unable to find by function which generates hip_begin.cpp.i.
- Also works for futureHIP APIs with  nunion,  when defined new types inside it.

Change-Id: If1e1c4f80dc511450fd154d64d39a05f81565220


[ROCm/rocprofiler commit: 52125f7966]
2024-09-09 01:11:44 +00:00
Jonathan Kim 509e8d863a rocr: Reverse host-device copy engines on GFX94x
GFX 9.4.x has better performance for CPU-GPU copies when using
engines in reverse order from other devices.

Change-Id: I1eaebf0e837bb7f44712f40d5115df618f6a73d7
2024-09-06 19:02:59 -04:00
Jonathan Kim 24b25003b0 rocr: Fix backwards compatible host-device copies on target engines
If the KFD doesn't support targeting SDMA engines, ensure that ROCr
selects the correct downstream queue type by using an invalid engine.

Change-Id: Ia6848126f67f3d35ab37248633e8e0e6e2d77fff
2024-09-06 19:02:51 -04:00
Vladimir Indic 8bf2ce622c More comprehensive IOCTL PC sampling checks (mi200 and mi300) (#1045)
* More comprehensive IOCTL PC sampling checks (mi200 and mi300)

* PC sampling tests: formatting
2024-09-06 09:45:05 -05:00
Kent Russell 3da42a0847 libhsakmt: Prefix global symbols with hsakmt
To support fully-static library ROCm builds, ensure that all global
symbols are prefixed with something meaningful to avoid collisions with
other libraries

A script was made using" objdump -C -t" to get a list of symbols,
then checking if the global symbols have a meaningful prefix (for thunk:
hsakmt or kmt in various cases)

Change-Id: Ifd353f64a3344eb60d1f6c4e041aa20967b38a59
Signed-off-by: Kent Russell <kent.russell@amd.com>
2024-09-06 09:56:07 -04:00
Chris Freehill a676d8639c Support for not building ROCr
Add cmake variable BUILD_ROCR so that user can elect to not
build ROCr.

Change-Id: I73bd28cde9430ba86aed50fb88ec2e42b3443dbb
2024-09-05 23:27:54 -04:00
Saleel Kudchadker 3baaa6e9c0 rocr: Allocate AQL queue on device memory
- Use HSA_ALLOCATE_QUEUE_DEV_MEM=1 to create AQL queue in device
memory.
- Before writing AQL packet header to the queue use an SFENCE to ensure
that there is no reodering of the writes over PCIE

Change-Id: I5eacdc35108c4a1e245c75ae349b7495451aa60d
2024-09-05 17:48:02 -04:00
David Galiffi a9face692f Fixing CMake Format
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-09-05 17:41:53 -04:00
David Yat Sin fe8d8c15f1 kfdtest: Fix ISA buffers not executable
Fix for some places where the ISA buffers are not declared as
executable. Previous code in Thunk was blindly setting exec bit on all
memory allocations so this issue was masked.

Change-Id: Ic7a1169c69fb85ff9e8ea7bcc49a1845b37c08ff
2024-09-05 16:57:34 -04:00
David Galiffi 702da3a679 Install the LICENSE file to ${CMAKE_INSTALL_DOCDIR} (#377)
* Install the LICENSE file to ${CMAKE_INSTALL_DOCDIR}

ie., {INSTALL_PREFIX}/share/doc/omnitrace/LICENSE
Internal ticket: SWDEV-466385

Signed-off-by: David Galiffi <David.Galiffi@amd.com>

* Add CPACK_RPM_PACKAGE_LICENSE = "MIT"

Signed-off-by: David Galiffi <David.Galiffi@amd.com>

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-09-05 15:47:16 -04:00
Vladimir Indic 93e82663d9 PC sampling: online partial PC sampling decoding (#1004)
* PC sampling: online partial PC sampling decoding

PC sampling service decodes a PC sample partially
by replacing the PC with an id of the loaded code object instance
containing PC and the offset of the PC within that code object instance.

* PC sampling: marker records removed

* PC sampling parser: minor doc update in mock

* PC sampling: introducing rocprofiler_pc_t

* NULL value of the code object id introduced.

* Clarifying documenation related to PC offset.

* PC offset documentation improvement

* PC sampling parser benchmark: Reducing the number of samples to recreate half of performance.
2024-09-05 11:35:46 -05:00
Ammar ELWazir a6c31edfc3 SWDEV-482307: Fixing Perfetto Plugin
Change-Id: Iec128a03b8b57c76861e9cd8ddfd647965076ca8
2024-09-05 12:15:22 -04:00
Ammar ELWazir 0e9e3f0ab6 SWDEV-482307: Fixing Perfetto Plugin
Change-Id: Iec128a03b8b57c76861e9cd8ddfd647965076ca8


[ROCm/rocprofiler commit: a6c31edfc3]
2024-09-05 12:15:22 -04:00
Kent Russell 545467be04 kfdtest: Check for NULL at MCABackend creation
The function can return NULL if it fails to create the backend, so check
for NULL before using it.

Change-Id: I4d6501bffd6dd0fc0d0f2224720f7d6dca1646f3
Signed-off-by: Kent Russell <kent.russell@amd.com>
2024-09-05 12:07:11 -04:00
David Yat Sin 9537420254 Add queries for xnack_enabled and vmm support
Change-Id: I7200fdc4c3086e92d60fbf785be89fb5d441409c
2024-09-05 10:32:27 -04:00
Chris Freehill 7e13b9e62f hsakmt: Fix ROCr static lib build in new layout
Change-Id: Idc71524924b96a44d63be9b1d0fccbe0e328d96e
2024-09-05 10:26:06 -04:00
Kent Russell 4dc9d49aa6 hsakmt: Free alloc'd memory
trace is calloc'd but never freed. Free it.

Change-Id: I5795cbe5738f25a9621d24be86abb35c263fa8b7
Signed-off-by: Kent Russell <kent.russell@amd.com>
2024-09-05 10:20:09 -04:00
Shane Xiao 821f6e58f9 Revert "gfx11 is able to perform atomic ops even PCI reports no atomic support."
This reverts commit 9f0f7741de.
For APU, the PCIe atomic is supported by default. However, the PCIe
atomic feature needs to checked for dGPU. The kfd driver has already
set PCIe atomic support for APUs, so this patch can be reverted.

Change-Id: I131d5b8e095c1104e1695e7cf8b1ed178bccddde
Signed-off-by: Shane Xiao <shane.xiao@amd.com>
2024-09-05 01:44:16 -04:00
dependabot[bot] b00d1b35de Bump cryptography from 42.0.8 to 43.0.1 in /docs/sphinx (#376)
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.8 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.8...43.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 17:09:38 -04:00
Nirmal Unnikrishnan 2cc55b27ac SWDEV-467155 : Add llvm to RPATH search path
Change-Id: I3598d7938bd63b06fd9cf14906c4ed3e7cc52a82
2024-09-04 13:52:49 -05:00
AravindanC be3728bd33 CheryPick SWDEV-442738 - Static package generation for rocm-core
Change-Id: I8e55f4cc3e476a9b4f3d73c02bab51c70b936bcc

SWDEV-442738 - ROCM-CORE Static Package Pre/Post Script

Change-Id: Ie55ffc98dfc60d9cb01b7a6df7a5fe1a890bc771
2024-09-04 13:52:49 -05:00
Ranjith Ramakrishnan a5a437e48a SWDEV-449560 - Backward compatibility support for deprected package rocm-clang-ocl
rocm-clang-ocl has been deprected from ROCm 6.1 onwards. Uprading ROCm from 6.0 to latest release will result in stale files of rocm-clang-ocl.
rocm-core will replaces/obsoletes rocm-clang-ocl package. This will ensure clean removal of the deprecated package

Change-Id: Id5c16492273d8a0dcbbd5ac797daaef96c058f5b
2024-09-04 13:52:49 -05:00
Jeremy Newton c574c81835 kfdtest: Drop sp3 licensing comments
This is obsolete and can be dropped.

Change-Id: I4ed7d22567043f9cca39879a82e5ea945c27efc1
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
2024-09-04 11:20:38 -04:00
Xuanteng Huang 7a52a45824 hsakmt: fix spelling error
This was pulled in from:
https://github.com/ROCm/ROCT-Thunk-Interface/pull/107

Change-Id: Ic30e4552a94a212a9cd138f9311b1c85b0c13867
2024-09-04 10:46:39 -04:00
Tom Rix b9c6144f23 kfdtest: Improve finding rocm-smi
On Fedora, rocm-smi is a standard package and is installed to /usr/bin
So when run_kfdtest.sh is run this error is produced

find: ‘/opt/rocm*’: No such file or directory

First redirect stderr to dev/null on the original search.
Then fall back to either looking for rocm-smi in BIN_DIR or
look for it in the PATH.

Change-Id: I389ed0b9a4a4507263c9eb19894b25326c9a4222
Signed-off-by: Tom Rix <Tom.Rix@amd.com>
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
2024-09-04 09:20:32 -04:00
Joseph Greathouse 75143555fa hsakmt: Only set exec flag when requested
Previous code would blindly set executable bit on all allocations.

Change-Id: Id1154f08f6ba21c633905fd46b06053994d6f3cc
2024-09-03 15:13:56 -04:00
Jeremy Newton 8fd1b14a42 Fix permissions on kfdtest
Using "PROGRAMS" and "FILES" without specifying permissions will
automatically select the right permissions.

PROGRAMS is used for executables, FILES is used for data files

Change-Id: I0fb6eff257a8f936848bd648cf877da6dc0b6906
2024-09-03 14:11:01 -04:00
David Yat Sin 4ba4867fa5 rocrtst: Fix segfault on p2p copies
Fix segfault on p2p copies when 2 agents cannot access each other's
memory (usually because the PCI BAR's are out of range). The
AcquireAsyncCopyAccess function should return NULL in that case, so that
the test can be skipped.

Change-Id: If018f3609dd21a01c56eaec94de3bca52c385c4d
2024-09-03 14:06:48 -04:00
Giovanni LB 3b0c6bd165 Fixing --help for counter collection
Change-Id: I76e02e0593966f2b9c1db4bffa8566b987efcf53
2024-09-03 13:40:21 -03:00
Giovanni LB caf9bc23a8 Fixing --help for counter collection
Change-Id: I76e02e0593966f2b9c1db4bffa8566b987efcf53


[ROCm/rocprofiler commit: 3b0c6bd165]
2024-09-03 13:40:21 -03:00
David Yat Sin f505444aaf Adding clang format files and strings
Adding files to auto-format code using:
bash format

Change-Id: I6a9edf3ff4d1e6102a44c4106e646ff9d63340cc
2024-08-29 15:43:41 -04:00
Zhang Ava ad511e9b0d Merge amd-staging into amd-master 20240828
Signed-off-by: Zhang Ava <niandong.zhang@amd.com>
Change-Id: I13187d5772ee1e5e74d9daf4268b90819b4198d0
2024-08-29 20:09:31 +08:00
Tony Gutierrez 68669f4e1a rocr: Generalize AMD::MemoryRegion Allocate and Free
Remove KFD-specific Allocate/Free calls from the AMD::MemoryRegion.
The KFD-driver-specific Allocate/Free calls are now implemented in
the KfdDriver. Future changes will migrate the remaining KFD-specific
calls out of AMD::MemoryRegion.

This allows the MemoryRegion to be used across AMD drivers like the
XDNA driver.

Change-Id: Ib6a2a9e5e1a15e61644d2592beb3a8e6578c3010
2024-08-28 14:35:07 -07:00
Tony Gutierrez c42ff44a6a rocr/kfd-driver: Add initial KFD driver interface
Adds the initial KFD driver interface and use it to open the
KFD from amd_topology.cpp.

This change is to show the direction of the Driver interface for
initially supporting the KFD and to get feedback on the approach.
For now we wrap relevant ROCt calls behind this generic driver
interface so that we can generalize core ROCr components like
MemoryRegion, Runtime, etc.

Now that ROCt is incorporated into ROCr, we can more fully integrate
ROCt into the Driver interface. Ideally, we get to a point where
the generic Driver interface can support KFD, XDNA, and potential
future drivers.

Change-Id: I4573fd6af1f8398233ee9d3814d9f3139dd0279c
2024-08-28 14:34:54 -07:00
Tony Gutierrez 86f40ae489 rocr/xdna-driver: Initial support for amdxdna driver
Change-Id: I319b55d89dc644e7151228cb6c19d1a633171295
2024-08-28 14:34:39 -07:00
David Yat Sin 2360253b3b rocrtst: Skip inaccessible agents when importing dmabuf
If some agents cannot access the memory buffer directly, this will cause
the hsa_amd_interop_map_buffer API call to fail

Change-Id: If2f0e1735c2926440d657831de50775d7f304c8e
2024-08-28 15:58:02 -04:00
Shweta Khatri da69ffff0f Set internal cache for rocprofiler-register dependency
Change-Id: I8a661818c11c4de0df9743dacb78b7c5163b6da9
2024-08-28 14:48:51 -04:00
Jonathan Kim ae99effb29 libhsakmt: Fix improper type range check in legacy queue creation
Enum type for compute AQL is defined as larger then targeted SDMAs
enum types.  We should only deny legacy calls for SDMA queues that
require targeted engines.

Change-Id: I6386a8700b3b18af825b6f0d2be27052cc8de0f5
2024-08-28 13:55:41 -04:00
Ammar ELWazir f014c03f30 Adding rocm-llvm-dev package as req.
Change-Id: I59ffaf952d53e1c27d6e9d0ab5b810a08ff3074f


[ROCm/roctracer commit: b42028fcc0]
2024-08-28 10:22:44 -05:00
Ammar ELWazir b42028fcc0 Adding rocm-llvm-dev package as req.
Change-Id: I59ffaf952d53e1c27d6e9d0ab5b810a08ff3074f
2024-08-28 10:22:44 -05:00
David Galiffi f9e036a40c Add installers for ROCm 5.6 and 5.7 for SUSE 15.5 (#374)
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-08-28 08:46:07 -04:00
Tony Gutierrez 8ea62f1cea rocr/aie: Add initial support for AIE agents
This change adds the initial classes for the AIE agent and AIE AQL
queue.

An AIE agent list is added to the core runtime object.

Change-Id: I84b02f52171b80726dfb2c8431582a3ea2986eb3
2024-08-27 14:47:05 -07:00
Charis Poag 6b8db74578 Fix rocm-smi --showfw displaying error fw prints
Updates:
  - [CLI] Previously --showfw displayed fw that
    does not exist on systems. This change removes
    that extra output.

Change-Id: If8b063001b80b03579ea1378dfd890c60f62ccd7
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2024-08-27 15:43:16 -04:00
jamesxu2 395c330dad Fix SWDEV-473314 by avoiding empty unique_ptr dereference (#371)
- Revert part of https://github.com/ROCm/omnitrace/pull/78/commits/b134a68110b2c96ce11293d93ad56f38e211fd06
	modifying source/lib/omnitrace/library/components/roctracer.cpp
2024-08-27 10:20:48 -04:00
Galantsev, Dmitrii bbe0b3573c Update python_interface and remove --enable_pci_id
Change-Id: Ie5d511f3da25221bf60bc669ab172323703a1c45
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-08-26 19:55:53 -04:00
Giovanni LB 698b6eb641 Adding early checks for ELF file
Change-Id: I1dc833fc2b017edae5c5456b14c376e88ca2bef7
2024-08-26 17:41:20 -03:00
Giovanni LB 3b53fb2c47 Adding early checks for ELF file
Change-Id: I1dc833fc2b017edae5c5456b14c376e88ca2bef7


[ROCm/rocprofiler commit: 698b6eb641]
2024-08-26 17:41:20 -03:00
Maisam Arif 2acc7f2447 Merge amd-staging into amd-master 20240823
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Change-Id: Ifae5d76d62ab50794486b08ea06d009bd870f9ea
2024-08-23 19:19:47 -05:00
Ranjith Ramakrishnan 4ceffdca68 SWDEV-480347 - Don't terminate build for cpack bytecompile errors
In centos-7, python2 is used for cpack bytecompile. Using f strings in code will result in syntax error.
Setting _python_bytecompile_errors_terminate_build to 0 will ignore the errors

Change-Id: I43ecc99ae16627f4f5f91d0cca0398f6a003fa3c
2024-08-23 13:43:32 -07:00