Wykres commitów

10773 Commity

Autor SHA1 Wiadomość Data
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
Chen Gong 69a9f24b6e Add an rdc API to get component version
Change-Id: I56250a6101debeb78628f1fd1dfff7f21c52cdc0
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong 45c6d0b03b Reorganize the code path of the rdci Discovery Subsystem
Prepare for adding 'detection version information' later

Change-Id: Ib2b5e70b2360b1c5ff87a537f41f34f23c7ed61f
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong 6591563d53 Add the function of outputting rdci version information
Change-Id: Iabeec48ba2e109ead7fb6fb07454ebcdc74a11e6
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong 9f8d447e75 Add the function of outputting rdcd version information
Change-Id: I0572fd4b98f697660ab9099deabfd4f0fce802f3
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Chen Gong ac874d3921 Get the hash value and pass it to rdcd and rdci
Want to display version information along with the hash value.

Change-Id: I0f9ad576f8f66747ce2e84d4f524ccd16d399927
Signed-off-by: Chen Gong <curry.gong@amd.com>
2024-09-10 10:06:44 -05:00
Galantsev, Dmitrii bffe4e22fa Add OAM_ID
Change-Id: I771b2f7f088940838c09ba3521a7955faa64e7ec
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2024-09-09 21:19:33 -05:00
dependabot[bot] 7a9af10833 Bump cryptography from 42.0.8 to 43.0.1 in /source/docs/sphinx (#1049)
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-09 12:31:08 -05:00
Ammar ELWazir 8b986afbdb Update run-ci.py with new cdash portal (#1048)
* Update run-ci.py

* Update run-ci.py

* Update run-ci.py

* Update run-ci.py

* Update run-ci.py

* Update run-ci.py
2024-09-09 12:29:10 -05:00
Gopesh Bhardwaj 612b18671c Creating a PR template checklist (#1037) 2024-09-09 11:48:26 -05:00
itrowbri ceb7237652 SWDEV-466452: incomplete gromacs pftrace (#1040)
* SWDEV-466452: Inserted `tracing_session->FlushBlocking()` after
TRACE_EVENT_END when recording trace events to resolve incomplete
pftrace bug

* Update source/lib/rocprofiler-sdk-tool/generatePerfetto.cpp

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

* Formatting

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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
2024-09-09 11:45:57 -05:00
Gopesh Bhardwaj 0f337aed03 SWDEV-478714 package requirements.txt (#1046) 2024-09-09 11:21:30 -05:00
Jonathan R. Madsen 395f01b689 rocprofv3: summary reports + more JSON metadata (#1029)
* Move include/rocprofiler-sdk/cxx/details/delimit.hpp to tokenize.hpp

* Update docs/how-to/using-rocprofv3.rst

- fix code block indents
- reorder rocprofv3 options, limit them to important options
- add docs for `--runtime-trace`

* Update rocprofv3.py

- parser argument groups
- new `--runtime-trace` option
- new `--summary` option
- new `--summary-per-domain` option
- new `--summary-groups` option
- new `--summary-output-file` option
- new `--summary-units` option

* Update lib/rocprofiler-sdk/hsa/async_copy.cpp

- fix async copy operation names: add "MEMORY_COPY_" prefix

* lib/rocprofiler-sdk-tool: update statistics.{hpp,cpp}

- statistics<>::get_percent function
- stats_entry_t struct
- stats_formatter struct
- percentage struct
- std::to_string(::rocprofiler::tool::percentage)

* lib/rocprofiler-sdk-tool: update domain_type.{hpp,cpp}

- reorder domain_type enum values

* lib/rocprofiler-sdk-tool: update generateCSV.{hpp,cpp}

- separate writing CSV from accumulating statistics
- a lot of functionality was moved to statistics.{hpp,cpp}

* lib/rocprofiler-sdk-tool: update output_file.{hpp,cpp}

- output_stream_t struct
- get_output_stream(...) returns output_stream_t instance

* lib/rocprofiler-sdk-tool: update generateJSON.cpp

- update get_output_stream usage to output_stream_t

* lib/rocprofiler-sdk-tool: update generateOTF2.cpp

- header include order tweak

* lib/rocprofiler-sdk-tool: update buffered_output.hpp

- stats_data_t was renamed to stats_entry_t

* lib/rocprofiler-sdk-tool: update generatePerfetto.cpp

- header include tweak

* lib/rocprofiler-sdk-tool: update tmp_file_buffer.hpp

- emit warning message if write_ring_buffer fails after offloading instead of aborting
- prefer placement new instead of assignment in write_ring_buffer

* lib/rocprofiler-sdk-tool: add generateStats.{hpp,cpp}

- functions for accumulating statistics

* Update tests/rocprofv3/tracing-hip-in-libraries/CMakeLists.txt

- accommodate tweak to CSV output file name for HIP and HSA traces

* lib/rocprofiler-sdk-tool: update config.{hpp,cpp}

- new config variables
  - stats_summary
  - stats_summary_per_domain
  - summary_output
  - stats_summary_unit_value
  - stats_summary_unit
  - stats_summary_file
  - stats_summary_groups
- support output keys for hostname: %hostname% / %h

* lib/rocprofiler-sdk-tool: update tool.cpp

- support summary output

* Documentation fixes

* Test for summary output

* Update tests/bin/transpose to use more ROCTx

- also support building with the roctracer ROCTx

* Remove roctxMark from OTF2 + fix kernel-rename tests

- following more ROCTx calls in transpose, kernel-rename validation had to be updated

* JSON metadata + JSON summary

- add serialization support for config
- add serialization support for statistics
- additions to json spec
  - rocprofiler-sdk-tool/metadata/config
  - rocprofiler-sdk-tool/metadata/command
  - rocprofiler-sdk-tool/summary
- config output_keys support for NVIDIA %q{<ENV-VAR>} syntax
- config output_keys support keys within keys

* rocprofv3 --summary-groups warning if no domain matches

- emit warning if a regex in for summary groups did not match any domain names

* Compile fix for lib/rocprofiler-sdk-tool/tool.cpp

- get_config().scratch_memory_trace
- pass contributions to write_json

* Update rocprofv3.py to preload rocprofiler-sdk-roctx

- appended to LD_PRELOAD when args.marker_trace is enabled

* Fix ReST link errors about subtitle underline being too short

* Patch tokenization of config::stats_summary_groups

- guard against array values of empty strings

* Tweak rocprofv3 summary test

- input-summary.yaml (used by rocprofv3-test-summary-inp-yaml-execute) only provides one summary group regex

* Disable LD_PRELOAD of librocprofiler-sdk-roctx.so

- this causes problems in the sanitizers, will be addressed in another PR
2024-09-09 11:20:55 -05:00
Jonathan R. Madsen 1354452cf0 Remove navi3, vega20 runners from testing (#1054)
- Fix env for pc-sampling-integration-test
- run thread sanitizer on mi200
2024-09-09 11:20:14 -05:00
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