Commit Graph

8920 Commits

Author SHA1 Message Date
Laurent Morichetti 1078a088e9 SWDEV-318682: Using roctx to rename long kernel names to shorter ones.
To enable this feature use the --roctx-rename rocprof option. This
implementation records all messages received in roctxPush calls and
use them to replace corresponding kernel names.

Tested with the following HIP program:

\#include <hip/hip_runtime.h>
\#include <roctracer/roctx.h>

__global__ void
ThisIsALongKernelName ()
{
}

int
main (int argc, char* argv[])
{
  hipSetDevice (0);

  // Not in a roctx range.
  ThisIsALongKernelName<<<1, 1>>> ();

  roctxRangePush ("A");
  // In a simple first level roctx range.
  ThisIsALongKernelName<<<1, 1>>> ();
  roctxRangePop ();

  roctxRangePush ("B");
  roctxRangePush ("C");
  // In a nested roctx range.
  ThisIsALongKernelName<<<1, 1>>> ();
  roctxRangePop ();
  roctxRangePop ();

  roctxRangePush ("D");
  roctxRangePush ("E");
  roctxRangePop ();
  // In a first level roctx range, but after a nested range.
  ThisIsALongKernelName<<<1, 1>>> ();
  roctxRangePop ();

  hipDeviceSynchronize ();
  return 0;
}

Change-Id: I629312234468daff8b017caa5cb0773707d98cce
2022-04-07 18:03:03 -07:00
Ori Messinger e800cbf161 ROCm SMI CLI: Fix formatCsv Bug
Fixes a bug in the 'formatCsv' function which mishandles json
data conversion for 'system' data types.

Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
Change-Id: I705060409bf5ae75b994ffda270843065ca12321
2022-04-07 19:33:46 -04:00
Ammar Elwazir 57add1a6fa Revert "SWDEV-295522: Fixing Performance Issue"
This reverts commit e7327aaac7.

Reason for revert: Merged by mistake

Change-Id: I8c39c823d92cc20a238ca6120dde4b2fa9121e85
2022-04-07 06:55:34 -04:00
Ammar ELWazir e7327aaac7 SWDEV-295522: Fixing Performance Issue
Removing DEBUG_TRACES and the unnecessary use of roctracer_op_string, made the MS app reporting 78 to 81 stable samples per second, depending on the type of the trace, while the main app without rocprof reports 100 to 106. More detailed numbers will be posted in the ticket.

Change-Id: Ida25d3bfc72047afaa27326d697be76d97564334
2022-04-07 00:07:24 +00:00
Jonathan R. Madsen d3c73a5860 Workaround for dyninst bug with SIGTRAP (#39)
- on some systems (e.g. OLCF Crusher) it has been noted that dyninst will raise SIGTRAP (or SIGILL if DYNINST_SIGNAL_TRAMPOLINE_SIGILL is set in env)
- this fix adds an environment variable OMNITRACE_IGNORE_DYNINST_TRAMPOLINE which, when on, will try to ignore this
2022-04-05 20:46:17 -05:00
Jonathan R. Madsen 593b3b69b8 Python updates (#38)
* silence SFINAE disabled for fork_gotcha

* Python updates

- Options for --{module,function}-include
- libpyomnitrace is_initialized and is_finalized
- source instrumentation auto init
- atexit finalization
- improved python testing

* Documentation Update

* Fix to 'cmake -E cat' not available < cmake v3.18

* Fix for inverse tests

* Update cancelling.yml
2022-04-05 20:40:27 -05:00
Kent Russell f62e9b9821 kfdtest: Check for Atomic Ops support before running Atomics test
If PCIe Atomics aren't supported, we shouldn't try to run a test that
tests PCIe Atomics. Check for support, and bail early if it's not there

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Ie9aa0fed3ece07fb83a33e6cacef2961626afab4
2022-04-05 12:34:26 -04:00
Kent Russell 8b54459e12 kfdtest: Add function to check for PCI Atomic Ops support
While this is currently only used in one subtest, it's useful to have
this separated into the test utilities. This will also allow us to check
for PCI Atomics support before trying to run them.

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I9704d151bfaa627eceae8399cc46c15babde6ff1
2022-04-05 11:03:36 -04:00
Jonathan R. Madsen afa3edebab Python support (#37)
* Initial python support

* Add python testing

* Increase timeout for bin tests

* cmake-format

* Valid build types + testing + formatting + more

- Enforce valid build types
- Fix to numpy install
- Increase testing timeout
- Fix to cmake format glob
- Fix to backtrace verbose

* Disable stripping libraries by default

* omnitrace exe updates

- new '--print-instructions' option
- changed format of instructions in JSON
- remove no-save-fpr tests

* Default to strip libraries when release build
2022-04-05 00:24:34 -05:00
Jonathan R. Madsen 945f541965 Documentation + Miscellaneous Fixes (#36)
* Added documentation markdown source

* Replaced AARInternal with AMDResearch in URLs

* Renamed cpack artifact names

* Fix to testing and lulesh submodule checkout

* Docker updates

* CMake and CPack

- force CMAKE_INSTALL_LIBDIR to lib
- CPACK_DEBIAN_PACKAGE_RELEASE uses OMNITRACE_CPACK_SYSTEM_NAME
- CPACK_RPM_PACKAGE_RELEASE uses OMNITRACE_CPACK_SYSTEM_NAME
- Tweak LIBOMP_LIBRARY find in examples/openmp
- Tweak setup-env.sh.in

* Partial update of README

- status badges
- docs link
- removed install info (covered by docs)

* OMNITRACE_SAMPLING_CPUS setting

- enables control over which CPUs are sampled for frequency

* omnitrace exe updates

- exclude transaction clone, virtual thunk, non-virtual thunk
- module_function::start_address
- module_function::instructions
- verbosity > 0 encodes instructions into JSON

* Miscellaneous fixes

- relocate setup-env.sh.in
- add modulefile.in
- Updated README.md and source/docs/about.md
- cmake fix for libomp
- fix license in miscellaneous places
- dl.hpp and dl.cpp

* Update timemory and dyninst submodules

- timemory signals updates
- dyninst Movement-adhoc updates

* cmake format
2022-04-04 15:27:38 -05:00
Sean Keely 4e9849034d Correct inf loop defect in fast clock init.
Each time delay is grown we need to reset elapsed.  We want to take
the most accurate sample from the set at fixed delay.

Without this we will hang if there is ever an insufficiently accurate,
high unit clock read.

Change-Id: Ic65f364067789ac85a6572d67af2d77528e265bb
2022-04-01 16:15:37 -04:00
Ammar ELWazir 7ee4f87b73 SWDEV-307394: Fixing Download HSA-Class Issue
Exchanging the git clone of the hsa-class to a local downloaded version pushed to the roctracer repo

Change-Id: Id45a38b2d355102c2e0dee1e4bfde50398369047
2022-03-29 22:27:25 +00:00
Bill(Shuzhou) Liu c4dab3b2bd Add run path dependency on grpc libraries
Add run path dependency for grpc libabsl_*.so required by RHEL.

Change-Id: Ie033cc25019e0cb46a895e8c3e583a0d22ab4561
2022-03-28 09:04:17 -04:00
Jonathan R. Madsen 5c4d5c394f cpack workflow for building installers (#35)
* cpack workflow for building installers

- ConfigCPack.cmake update
  - STGZ and DEB + containers + test artifact
  - DEBIAN_FRONTEND + set -v
  - submodule fix
  - actions checkout
- OMNITRACE_ROCM_VERSION + continue-on-error
- Change CPack generators + fix path to DEB
- separate configure, build, and package steps
- use cd instead of pushd
- FindROCmVersion + fix to cpack testing
- use ${ROCM_PATH}/.info/version for ROCm version info
- Tweaks for debian installer
- Packaging fixes
- Use CMAKE_SHARED_LIBRARY_SUFFIX instead of .so
- Split cpack.yml into 4 workflows
- Replace source with export in cpack
- Dyninst boost uses tar.gz instead of zip on Unix

* Fix to common join

* Update VERSION to 1.0.0
2022-03-27 22:52:36 -05:00
Ammar ELWazir 46c4e5045a SWDEV-329270: fixed the multiline input.txt issue
In a previous change the key for the var_table in tblextr.py script has been changed from one value to a tuple without changing the usage of the var_table in the rest of the script

Change-Id: I38964f61afad5323d1ca9b64d538cec426298842
2022-03-25 05:09:52 +00:00
Hao Zhou 4ebad75425 Merge amd-staging into amd-master 20220325
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I2f1e5279c677e0d63975f6f2755b0519536b7345
2022-03-25 10:16:50 +08:00
Ammar ELWazir fd4767d954 SWDEV-329261: Fix for Post-Processing HSA Memcopy Async Activities
The Post-Processing script was depending HSA API call for async mem copies to correlate it with the HSA Async Memcpy Activity, now if user decided to include input file with filtering HSA Api calls without adding HSA Memcpy, then all the correlation data will be dropped and the Async activity will be reported with the information given from the HSA async activity result file

Change-Id: I5123a5acab9b35a4c25793e7953fdfb74929c999
2022-03-24 10:22:52 -04:00
Bill(Shuzhou) Liu 9f814e150e Correct the __pycache__ folder
Remove the __pycache__ in the folder libexec/rocm_smi

Change-Id: I0ad505ff7e7368d5fe86e1eee12080039edc7111
2022-03-24 09:44:33 -04:00
Sean Keely 03a52655a8 Release host buffers after segment freeze.
Release staging buffers after loading has completed.  The debugger
no longer uses this copy.

Change-Id: I46f36b50033bebe5a9ebc648b291d46f1d09b21d
2022-03-23 23:53:02 -05:00
Sean Keely 048700f2e7 Correct loader memory interfaces.
The loader must use internal interfaces to access page allocation
flags.  Code pages should also ensure use of cached memory.

Also relocate i-cache flush after code page copy.

Change-Id: I86d36243b6eebb1d46b991b372a5236baaf941ab
2022-03-23 23:52:56 -05:00
Sean Keely fbc48521dc Correct queue error reporting.
VM faults should not report via the queue error handler.
The system event contains much more useful information.

Change-Id: I744d9b97b23334d7ed2c0f450111c1b8032567e3
2022-03-23 23:37:53 -05:00
Bill(Shuzhou) Liu d54c5715f0 Add user rdc to render or video group
Add user rdc to render or video group to access KFD for diagnostic.

Change-Id: Ie9b4ea65402319a2aae255063f8c79e56979a47f
2022-03-23 13:53:42 -04:00
Bill(Shuzhou) Liu c37d4bac8f Remove python pyc file when uninstall
Remove python pyc file when uninstall.

Change-Id: I383faf8fcfaeeb346c9ee38c1aad8577a460281e
2022-03-23 13:39:57 -04:00
Jonathan R. Madsen 4a18f55d34 Relaxed module/function restrictions (#33)
* Relaxed module/function restrictions

* Updated tests
2022-03-23 00:28:25 -05:00
Jonathan R. Madsen f4e27d8aee Fixes for ROCM-SMI + MPI (#34) 2022-03-23 00:28:13 -05:00
Jonathan R. Madsen f6241af5ee User api updates (#32)
* Update invoke.hpp

* Update OMNITRACE_FUNCTION

* Update library debug messages

* ptl verbosity

* Update timemory submodule

* mpi_gotcha calls omnitrace_finalize_hidden

* omnitrace_{push,pop}_region returns error code

* omnitrace-user updates

- doxygen documentation
- omnitrace_get_user_callbacks
- omnitrace_user_error_string
- omnitrace-user functions return error codes

* Update user-api example

* Tweak to workflows and tests

* Fix for OMNITRACE_FUNCTION

- conditional impl if __GNUC__ < 9

* focal-external-rocm workflow update
2022-03-22 15:51:57 -05:00
Jonathan R. Madsen 138d16d16a Split workflows + docker usage (#31)
* Split workflows + docker usage

* Fix omnitrace-ci-ubuntu-focal-external

* fix env

* Update path to action

* fix entrypoint

* Updated cancelling, disabled formatting

* fix entrypoint

* rework

* try using container

* relocate container

* fix image name

* shell expand

* external and external-rocm

* install libopenmpi-dev

* remove github.workspace

* github.workspace for rocm

* Update bionic, etc. + docker CI

* Remove self-hosted + bionic fix

* GIT_DISCOVERY_ACROSS_FILESYSTEM for bionic

* TIMEMORY_INSTALL_LIBRARIES + exe RPATH updates

- fix RPATH for omnitrace, omnitrace-avail, and omnitrace-critical-trace

* ubuntu bionic update

* bionic and focal-dyninst-package updates

* Disable lulesh MPI by default + timeouts

- increase openmp CG timeout
- decrease openmp CG runtime
2022-03-22 12:30:07 -05:00
Saravanan Solaiyappan a1dde130de Merge "rocprofiler: Consider apt upgrade operation check in package scripts." into amd-staging 2022-03-22 12:40:31 -04:00
MarkDavid Laws 4998b150ee Merge "SWDEV-283957 : Emit correct group name for rocprof split metrics" into amd-staging 2022-03-22 11:52:47 -04:00
Saravanan Solaiyappan bfea525ff3 roctracer: Consider apt upgrade operation check in package scripts.
Include the upgrade operation check in the prerm script
in package.

Signed-off-by: Saravanan Solaiyappan <saravanan.solaiyappan@amd.com>
Change-Id: I1504ce96a27d21d9c3d9bafc0dea8055398adc99
2022-03-21 23:43:19 -04:00
Saravanan Solaiyappan 39ca27d923 rocprofiler: Consider apt upgrade operation check in package scripts.
Include the upgrade operation check in the prerm script
in package.

Signed-off-by: Saravanan Solaiyappan <saravanan.solaiyappan@amd.com>
Change-Id: Ia2bf70bc3c8ce4ddb099ac58f32e165a0fe58824
2022-03-21 23:38:14 -04:00
Felix Kuehling f88aaa933b libhsakmt: Update kfd_ioctl.h
Import the latest version from the kernel tree.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Change-Id: If5f998ad55085ebd5020adaa382181204d834e3e
2022-03-21 14:41:18 -04:00
Hao Zhou 1a8a51f4ea Merge amd-staging into amd-master 20220321
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: Id5ca7b883f0993facac1f419a7633019756ecd98
2022-03-21 10:51:25 +08:00
Sean Keely af0f90800d Ignore hive id for CPUs when selecting copy paths.
Hive ID is used during copy path selection to locate an optimal
pool of SDMA engines.  However, for CPU-GPU connections we always
want to use the host port facing engines, known generally as the
PCIe optimzed engines.  We want this selection even when the
connection is XGMI hence dropping the hive id for CPUs.

Change-Id: Iffe44174afecfc0bb3272b806fce549c930a49d9
2022-03-18 18:48:44 -05:00
Saurabh Verma 43657de4d2 Merge "SWDEV-295871: [MSRCHA-130] Unable to filter API using .txt or .xml -Part-2 of MSRCHA-128. Made xml input more robust to accept both spaces and commas in xml array." into amd-staging 2022-03-18 10:13:31 -04:00
Sean Keely 7e73760cd0 Revert "add gfx1036 support"
Compiler is not promoted to mainline yet.

This reverts commit 2f97f17df9.

Change-Id: I7256aeb3698ee3ae640a9f457a929abe24d5ef17
2022-03-18 02:35:01 -05:00
Ammar ELWazir 43a36f8dd5 SWDEV-328300: supporting centos-9 for roctracer
Changing pthread_yield() to sched_yield() as pthread_yield() is deprecated in CentOS 9

Change-Id: I2961b61374e36995d0835f0e65b26c35f5eb8715
2022-03-18 01:26:39 +00:00
Ranjith Ramakrishnan 869670866d Remove rocm_smi/bin folder and prefix name correction in pragma message
/opt/rocm/rocm_smi/bin folder was added by mistake as part of file reorg and removed the same.
File reorg commit :f1da5591b58e7c5f09ac3aa88aef85257b87478d
Pragma message for oam header files was showing prefix as rocm_smi, Changed the same to oam

Change-Id: I74b3c1d2bd7e0ff0eee5738c1658063bc855066c
2022-03-17 18:16:10 -07:00
Saurabh Verma 37ed31087a SWDEV-295871: [MSRCHA-130] Unable to filter API using .txt or .xml -Part-2 of MSRCHA-128. Made xml input more robust to accept both spaces and commas in xml array.
Change-Id: I3900fdf91cd0b893fadd9dfc958030effc5663db
2022-03-17 17:16:17 -05:00
Chun Yang 26c479c72a SWDEV-324379 : Expose FP64 and FP32 performance counters on on AMD profilers for MI200
Change-Id: I2c38ccc297872dfc1896314ceadbed98dc761766
2022-03-17 14:06:24 -07:00
Hao Zhou d1db525155 Merge amd-staging into amd-master 20220317
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I1aaf47be05ceb7c46ee25b34509c11afa3fa7b54
2022-03-17 14:19:04 +08:00
Kent Russell 85571318e2 README: Remove restrictive licensing language
Also update copyright years

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Ic9ead543c4937680afc1957623c4d5fcbfbd58b0
2022-03-16 13:52:25 -04:00
Mike Li b6dc27f0b3 Add ASIC revision
Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>
Change-Id: I8f6bbf39e4cf85bb03fd6c0de7afe5f9e6666ba5
2022-03-16 00:51:33 -05:00
Bill(Shuzhou) Liu 346eb5981d Install License file under /opt/rocm
Change-Id: Ifbb7edddfd5eda173039399c47f2d20f813f1710
2022-03-15 13:18:58 -04:00
Saurabh Verma aee8102fa6 SWDEV-295871 : [MSRCHA-130] Unable to filter API using .txt or .xml - Part-2 of MSRCHA-128. Fixed constructor ordering issue of global variables hip_api_vec and hsa_api_vec by wrapping themin static getter functions
Change-Id: I2dae5e196118fcab696b2365b24281f05d9d0f88
2022-03-14 16:07:58 -04:00
Bill(Shuzhou) Liu c465d29d8c Upgrade GoogleTest to v1.11.0
The old GoogleTest has compile errors on Centos 9. Upgrade it
to latest version.

Change-Id: Ifc95c68ddf2321509b90e20af11c8d468a63f431
2022-03-14 10:23:06 -04:00
Sreekant Somasekharan dbe3403bd3 make string variable 'tpath' an empty string.
string variable not being empty can lead to incorrect compilation
and corrupted output.

Change-Id: Ie66756c28aef7417759c29387500970a8b53e44c
2022-03-11 21:22:28 -05:00
Sean Keely 7ab0d786c2 Disable warnings as errors for rocrtst.
Change-Id: Ibe76c4c7f20fc0273dd02038477e7f9fc7800a3d
2022-03-11 17:55:55 -05:00
Hao Zhou 87af568be9 Merge amd-staging into amd-master 20220310
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I8fcf65fa293919572468a786409db75ea97c1097
2022-03-10 14:07:38 +08:00
Ammar ELWazir 8098ec6acf SWDEV-296010: Fixing RPATH & CMAKE files
Removing the RPATH skip & Removing the install path that was defined CMakelist

Change-Id: Icf374b9548fc7b24e99a1b5ab9720ce6d775abf8
2022-03-09 19:16:08 -06:00