Commit Graph

8920 Commits

Author SHA1 Message Date
Giovanni LB 5674997fda SWDEV-389002: Remove quadratic wave lookup
Change-Id: Ie401b46091b31c3b9e4473a15791e4bf2af4d73e
2023-03-29 15:55:07 +00:00
Giovanni LB 8d2903c7cb End stitch on unknown jump location
Change-Id: I7a3bcdc6f06fa464950cd67019f947502afc4c26
2023-03-29 15:55:07 +00:00
gobhardw 377748d2f8 unifying unittests
Change-Id: Icc47229fa4eb88fa40be7ae179e5dc5693659cfd
2023-03-29 15:55:06 +00:00
gobhardw 14977e4dc1 SWDEV-374072 : rocprof gpu selector fix
Change-Id: I155e63a5dc1ecbacd76d80b0df76da99b645ed9f
2023-03-29 15:55:06 +00:00
gobhardw 1f4ea85cab barectf README update
Change-Id: I2812fb45e844fac9469c564dde64bcbecad6057b
2023-03-29 15:55:06 +00:00
AravindanC ed96e9fbb6 SWDEV-366831 - Wrapper header warning as error enabled with option flag
Change-Id: Ic923027cc20edff067044a6fe56a879c0ecddf7e
2023-03-29 15:55:06 +00:00
Kiumars Sabeti a9f1237c53 SWDEV-387039: Modified gfx90a section to inherit from gfx9 base and removed derived counters that are defined in the gfx9 base from gfx90a section to avoid duplication
Change-Id: I653e116bc47fe11b57e663c2827d177149b00c5b
2023-03-29 15:55:06 +00:00
gobhardw ef31a96b55 updated README for plugins
Change-Id: I8875bf8b624c8e09467bcb30e2794bdf41b31872
2023-03-29 15:55:05 +00:00
Ammar ELWazir a5e1069920 Fixing rocprofilerv2 naming and CMake issues
Change-Id: Ib6d336349a056731e5c0f35151296d6fea671360
2023-03-29 15:55:05 +00:00
Bill(Shuzhou) Liu 58c83eb379 Increase the max BDF ID length
Increase the max length from 256 to 512.

Change-Id: I3114f7ce6852aafa9dfec0186f27c1121c939c69
2023-03-29 10:04:28 -04:00
Bill(Shuzhou) Liu 0c82a9d577 Correct subsystem name by matching device id.
The rsmi_dev_subsystem_name_get() only matches subvendor id and
subdevice id for a vendor. The change will also match device id.

Change-Id: Ife3aedaf6fc7390ed7fa62edbde40c2340689b23
2023-03-28 15:48:31 -05:00
Galantsev, Dmitrii 8f6bf948cc ASAN: Shutdown the signaling thread on exit
Change-Id: Ica546db354430f5f4adc33d8d92e09927d40f75b
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-03-28 11:26:38 -05:00
David Yat Sin eb1283f377 Add query for mwaitx support
Change-Id: I775234ff570e3cedacd68adb4617e62dce76bd9e
2023-03-28 12:11:55 -04:00
Graham Sider 287cb29340 Revert "kfdtest: add MES judging API in test utility."
See description of previous revert.

This reverts commit 564913526a.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I969dc6469e62b50cd7ba0595918538602afa7516
2023-03-27 17:08:03 -04:00
Graham Sider 0750856d4a Revert "kfdtest: Using non-paged memory allocation only on devices that have MES scheduler"
This patch and the previous made it such that the queue ring buffer was
allocated as non-paged for GFX11+. The queue ring buffer should not be
mapped as non-paged; the non-paged requirement on GFX11 is only needed
for the queue wptr.

This patch was causing issues on various tests, such as intermittent
CP_INTSRC_BAD_OPCODE interrupts.

This reverts commit e40ae8481e.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I55b64aed73dc3b792f0756ae00daf6e10d93ce10
2023-03-27 17:07:59 -04:00
Mark Searles 34cc693bef Fix parsing of rocminfo output for ISAs with no features defined
Patch is an internal port of
 https://github.com/RadeonOpenCompute/rocminfo/pull/59

Change-Id: Iea84f49a60abce73716a7451960c20ee0d2b7bca
2023-03-27 08:56:00 -07:00
coleramos425 644b20e308 Conform to Python formatting
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-23 12:54:00 -05:00
Graham Sider 5d80a4d214 kfdtest: Add KFDQMTest.BasicCuMaskingEven to GFX11 blacklist
Test is inconsistent across ASICs. Add to blacklist to unblock QA.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I31e5aa2450165227107536bef8402db2c0dc6d7f
2023-03-23 11:14:58 -04:00
Hao Zhou 230b5bcee3 Merge amd-staging into amd-master 20230323
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I2155fa727d4a2a46cbeca3e65f6ae2d9c31c91a5
2023-03-23 17:11:34 +08:00
Jonathan R. Madsen 279a8e0952 Roctracer perfetto flow fixes (#267)
* testing label updates

- automatically add "gpu", "roctracer", "rocm-smi", and "rocprofiler" test labels when appropriate

* Bump version to v1.9.1

* roctracer and config updates

- fix perfetto::Flow
  - use roctracer correlation ID instead of critical trace correlation ID
- renamed ambiguous _cid, _parent_cid, _corr_id variables to _crit_cid, _parent_crit_cid, _roct_cid
- use atomic_{mutex,lock} instead of STL mutex/lock
- support for individual perfetto annotations for HIP API args
- OMNITRACE_PERFETTO_COMPACT_ROCTRACER_ANNOTATIONS option for controlling compact vs. individual perfetto annotations for HIP API args

* Update timemory submodule

- argparser updates
  - help prints to std::cout by default now
  - supports setting custom ostream

* cmake formatting

* config::get_setting_value updates

- config::get_setting_value returns std::optional instead of std::pair<bool, Tp>
2023-03-23 01:13:12 -05:00
coleramos425 a56bd24dbf Add span tag to kernelName dropdown. Improve readability (#102)
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-22 15:26:28 -05:00
Alex Sierra 2a1d6ee8b5 libhsakmt: query svm info from userptrs at fault events
Get more debug information about user pointers that were registered
through SVM API, and triggered by memory exception events.
A new kfdtest with this use case was also included inside
KFDExceptionTest.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: I0ef4929afe0625b9b5cbbbebef11ede66dda60ab
2023-03-22 13:34:02 -05:00
Alex Sierra 63c8cf115a src: use SVM mechanism to register userptr memory
Register and map userptrs through Shared Virtual Memory(SVM) API at
the Kernel level when available. Using this approach, performance
will be improve as register/unregister memory will not trigger any
system call to KFD driver.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Change-Id: I3726b4b5e1c6a52a83786fbe0af6322eb29ae7c9
2023-03-22 13:33:35 -05:00
Jonathan R. Madsen 9eafb23602 rocprofiler and roctx updates (#261)
* Improve locating ROCP_METRICS

- moved common::path to common/path.hpp
- added more functionality to common::path
- common::path::exists now returns true for directories
- check for metrics.xml and gfx_metrics.xml before setting ROCP_METRICS
- throw error if path for ROCP_METRICS is cannot be explicitly determined

* Fix roctxRangePop handling

- message is nullptr -> keep thread-local stack
2023-03-22 00:49:14 -05:00
coleramos425 a9742915b5 Wrap text in Flask GUI tables fixing long kernelNames
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-21 11:41:13 -05:00
coleramos425 e2eaebe483 Add popup for low level metrics (#101)
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-20 17:06:13 -05:00
AravindanC 778f3b7fdc SWDEV-351540 - ASAN packaging for rocm_smi_lib
Change-Id: Iab354d02d261a0270a3d118b825835fc6f021c15
2023-03-20 13:14:53 -07:00
coleramos425 090d74d7e8 Hide roofline section in GUI if --no-roof is used
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-20 13:52:42 -05:00
Charis Poag f44d1ea8bc [SWDEV-387906] Fix rocm-smi initialize crash
Fix was needed due to hwmon updates.
Several voltage sensors (ex. vddgfx/vddnb)
are unsupported or not applicable
to upcoming hardware. This was not the case
for previous hardware sensors, resulting in
the rocm-smi crash observed.

Change-Id: Ib8593e10811638def26fc7a1eda29309e328db09
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2023-03-17 15:04:34 -05:00
Konstantin Zhuravlyov a5932ef5ef Loader: Skip vdso.so code objects in GetUriFromMemoryInExecutableFile
Change-Id: Ie2cac880c406ed90d6fa614707fa8df7b87458da
2023-03-17 09:57:15 -04:00
Hao Zhou 74c96dbbff Merge amd-staging into amd-master 20230317
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: Iad8075d8aae2e0577dd6a36ce789d4f07741a448
2023-03-17 11:20:57 +08:00
Lang Yu aec7200cb2 Switch to completion signal wait for amd_aql_pm4_ib processing
Wait on completion signal for amd_aql_pm4_ib processing
on ASICs with gfx version >= 9.

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Change-Id: Ia704d9cc5b2535dcf8564a30f694262b113f77a2
2023-03-16 20:23:53 -04:00
Jonathan R. Madsen e580bc9186 fix omnitrace-install.py script (#258)
- handle blank lines in /etc/os-release
2023-03-16 14:50:32 -05:00
Bill(Shuzhou) Liu 29551b1fd0 Rebuild rdc_ras library on Ubuntu 20.04
Rebuild rdc_ras library on Ubuntu 20.04 for backward compatibilities.
Fallback to rocm_smi for ECC errors if rdc_ras library not available.

Change-Id: I8db9687e3eb54a6f62fce2c8d57a796c6da6b5c4
2023-03-16 10:02:15 -04:00
Jonathan Kim fc8f3f9fd5 Fix Invalid Engine Offset Check
Engine offset that is the maximum number of engines is still valid
as offset enum 0 is occupied by blit copies so raise the limit by 1.

Change-Id: I6fcab106290e6647702efe297a4281861da4e0b8
2023-03-16 09:50:10 -04:00
Shweta Khatri 83a307c449 By default, disable mwaitx feature.
This can be enabled by setting HSA_ENABLE_MWAITX=1

Change-Id: I4be00892780beeb8b14c3c5f34aa10b158921bff
2023-03-15 19:57:25 -04:00
Cole Ramos 9770396fa8 Update Zenodo citation
Signed-off-by: Cole Ramos <colramos@amd.com>
2023-03-15 12:34:57 -05:00
AravindanC 0f977fd1d8 ASAN Packaging for libhsakmt
Change-Id: I0a6232cdb61742aa81394bb49d2b5e890b6ada6f
2023-03-14 20:04:51 -07:00
Jonathan R. Madsen abe35de43a omnitrace-run executable - required for running binary writes (#257)
* omnitrace-run exe

- ensure LD_PRELOAD for libomnitrace-dl.so
- convert config options into command-line options

* Update timemory submodule

- updates to tsettings
- updates to argparser

* common environment update

- throw error if get_env<bool> has empty string

* config updates

- minor tweaks to categories of settings

* core lib update

- add argparse for common handling of argument parsers

* omnitrace-sample update

- fix handling of --trace-file (OMNITRACE_PERFETTO_FILE)

* omnitrace-run update

- updated to use omnitrace::argparse functions

* Tests for omnitrace-run

* argparse core update

- remove choices for --cpu-events and --gpu-events

* remove some debugging prints

* fix timemory include in argparse.cpp

* always provide --hsa-interrupt option

* Update source/lib/core/argparse.cpp

- fix pedantic warning

* Update testing

- remove testing args that may not be there in some builds

* roctracer/pthread_create fix

- disable roctracer_data when roctracer not enabled

* omnitrace-causal tweak

* omnitrace-instrument: module_function tweak

- allow DEFAULT_MODULE and LIBRARY_MODULE

* common environment update

- support get_env for enums

* core: config update

- Add "mode" category to OMNITRACE_MODE

* Update timemory submodule

- remove debug print statement

* omnitrace-sample tweak

- change var init

* omnitrace-run testing update

- use --help instead of -?

* core: common.hpp

- tweak header include style

* core: argparser update

- add_ld_preload func
- launcher and command member variables in parser_data
- support launcher

* omnitrace-run update

- clean up and reworked

* libomnitrace-dl updates

- require LD_PRELOAD with binary rewrite
- dl::InstrumentMode
- dl::get_instrumented()
- verify_instrumented_preloaded()
- omnitrace_set_instrumented(int)
- relocated omnitrace_main from main.c to dl.cpp
- omnitrace_set_env does not dlopen libomnitrace
- omnitrace_set_main(func_ptr) [internal API]
- OMNITRACE_HIDDEN_API -> OMNITRACE_INTERNAL_API

* Update testing to new LD_PRELOAD requirements

* omnitrace-instrument updates

- adhere to LD_PRELOAD requirementsa
- invoke omnitrace_set_instrumented
- binary rewrite does not instrument main
- binary rewrite does not instrument call to omnitrace_init
- runtime instr does not instrument main
- runtime instr does not instrument call to omnitrace_init

* Bump to v1.9.0

- LD_PRELOAD requirement necessitates minor version increment

* common: environment

- fix ambiguous get_env calls

* omnitrace-instrument update

- fix issue with temporaries

* omnitrace-instrument and libomnitrace-dl updates

- runtime instrumentation does not work if libomnitrace-dl is preloaded

* libomnitrace-dl and libpyomnitrace updates

- define dl::InstrumentMode in dl.hpp
- handle instrumentation via setprofile libpyomnitrace
  - do not push trace in omnitrace_init

* omnitrace-instrument and libomnitrace-dl updates

- move header to dl subdirectory
- omnitrace::omnitrace-headers include omnitrace-dl folder
- use InstrumentMode in omnitrace-instrument

* Update workflows and scripts

- Use omnitrace-run on instrumented exes

* Update docs

- add omnitrace-run to examples of running binary rewritten exes
2023-03-14 19:48:29 -05:00
Ranjith Ramakrishnan 572f1cc601 SWDEV-351540 - Improvements for ASAN changes in rocm-core
License file added to rocm-core asan and normal package
Package  description updated for ASAN package
Added rocm-core-asan dependency to rocm-core, so that removing rocm-core will cleanup all asan  pacakges as well
Added component name to cpack post install variables

Change-Id: Id8b69b4469ff3c66a6bd32503defd6411ce3b6c7
2023-03-14 13:17:38 -07:00
Ranjith Ramakrishnan dd9b7b3b3a ASAN packaging for hsa
Package ASAN libraries and license file
Suffix "asan" added to package name

Change-Id: I2af416d86a9068a41e3880836a21c9005e45271b
2023-03-13 23:32:30 -07:00
Cole Ramos ac10ad23d8 Update CHANGES
Signed-off-by: Cole Ramos <colramos@amd.com>
2023-03-13 15:52:11 -05:00
Cole Ramos e6d9c29d34 Update VERSION
Signed-off-by: Cole Ramos <colramos@amd.com>
2023-03-13 15:36:44 -05:00
Cole Ramos 281b577fc7 Merge pull request #99 from AMDResearch/dev
Updates for v1.0.8-PR1
2023-03-13 15:35:45 -05:00
Cole Ramos 56ecd59203 Merge pull request #98 from AMDResearch/kernel-names
Roofline Adjustments
2023-03-13 14:22:20 -05:00
coleramos425 72031c8ae6 Comply to Python formatting
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-13 13:48:54 -05:00
coleramos425 f32c192abe Fix roofline calculation for single dispatch
Signed-off-by: coleramos425 <colramos@amd.com>
2023-03-13 13:38:41 -05:00
Bill(Shuzhou) Liu 1b7eb4e1f4 Fix cppcheck static analysis report warning
Fix some warning from static anaysis tool.

Change-Id: I7e8c2f5d6f79aff5fdcad81b1fd832900f213c47
2023-03-13 09:27:19 -05:00
Ranjith Ramakrishnan f962d0959a SWDEV-366831 - Compile time flag to switch between #warning and #error message
Using backward compatibility paths will provide an #error message. Compile time option added to enable/disable the #error message.
Disabling the same will provide a #warning message

Change-Id: I45f987b572a306036a72525d2b90d366459117ad
2023-03-10 13:19:00 -08:00
Ranjith Ramakrishnan c911848242 Compile time flag to switch between #warning and #error message
Using backward compatibility paths will provide an #error message. Compile time option added to enable/disable the #error message.
Disabling the same will provide a #warning message

Change-Id: Ibb84241ba35aefb7a8450d68231e52242a634ed3
2023-03-10 13:09:13 -08:00