Commit Graph

8920 Commits

Author SHA1 Message Date
Ammar ELWazir 37c48ce0ab SWDEV-405920: V2 clean up for unimplemented and corrupted APIs
Change-Id: I2c88d8415a3a386377e99b93295adb82e1f7195e
2023-06-21 18:55:31 -04:00
Ammar ELWazir 40a36a201e SWDEV-288134: Workaround to enable roctracer early
Change-Id: I65d776af07a270f25acd4f918f33008d4588aa08
2023-06-21 18:54:19 -04:00
Giovanni LB 590f014e3e SWDEV-406670: Handling repeated counters
Change-Id: I90e71463b8ba14659d55d6e916b1ad26257e8ccb
2023-06-21 16:55:46 -04:00
Konstantin Zhuravlyov 8a6edb07d9 Cache referenced symbol table when pulling data in relocation section
Change-Id: I6ef21cedde1aca6fd1ec5e5d5634563f030eaab8
2023-06-21 16:35:45 -04:00
Saurabh Verma b7d045c672 SWDEV-400688: Correction for block instance count referenced in xml for MI300 metrics
Change-Id: I8b84f5d018d64104ed3d1bedeff272fd5e7437ca
2023-06-21 16:26:59 -04:00
Ammar ELWazir 472624e3bd SWDEV-374256: GPU Kernel Dispatch Trace Period Support
Change-Id: Idaabe82a30013e3aba4bcb65bd0a89ce2d14ad97
2023-06-21 12:46:33 -04:00
Ammar ELWazir 5987bc375b Fixing Memory Leak Test
Change-Id: I8446f2789adfbb07ea5f8925e7b2ae2bc5cdd468
2023-06-21 12:46:26 -04:00
Ammar ELWazir 93c28b5d39 SWDEV-403398: ROCProfiler V2 Optimizations
1- Optimizations for current profiler, tracer classes
2- Adding Flush Interval functionality
3- Adding Trace Period functionality

Change-Id: I319b76b723516abad34565cd8364326e8435e634
2023-06-21 12:46:15 -04:00
colramos-amd 049ba12f69 Add subsection title to System Speed-of-Light
Signed-off-by: colramos-amd <colramos@amd.com>
2023-06-21 11:06:03 -05:00
Ammar ELWazir b9743b843e Fixing Tracer Tests
Change-Id: I3a3c5d77f020826a0de0cccc25e5522a10433ae6
2023-06-21 07:15:56 -04:00
Ammar ELWazir e626f26b4f SWDEV-404087: Adding default value for the metrics XML path
Change-Id: Idbc8e35067229a5b6b97103dad2555948987aeb0
2023-06-21 06:31:37 -04:00
Ammar ELWazir 3ac57e167e SWDEV-403068 & SWDEV-403069: Memory Leaks fix for tracer
Change-Id: I57ce10ae616dda9529d22d4cee15556864760d6c
2023-06-21 06:28:47 -04:00
Ammar ELWazir 2c34a6c166 SWDEV-406385: Fixing C support for tracer APIs
Change-Id: I20720db59f1aaed493dfac5b27e50a96c4329e52
2023-06-21 06:27:41 -04:00
Jonathan Kim 92467fd282 Prevent unnecessary SDMA queue creation on copy on status
Unless SDMA blits have actually been used for copies, prevent the DMA
copy status from querying the blit's pending byte status to avoid
creating an unnecessary HW queue.

Change-Id: Ied1fbed73c08f0408f0e3583f9b56f2768c71708
2023-06-21 03:10:53 -04:00
Jonathan Kim 8c60f04a99 Prevent blit copy pending bytes query when out of SDMA resources
Querying pending bytes on a blit kernel is unnecessary when runtime
runs out of SDMA resource since we are returning an SDMA availabilty
mask.

Change-Id: I347efba0c85b70ea3ba8749d76a499afc23909e8
2023-06-21 03:10:52 -04:00
gobhardw c6729adaed Handle user input if first PMC line is empty
Change-Id: I456fd9360a4a8506fadcc975e71da112a26b07ae
2023-06-20 21:56:04 -04:00
Ammar ELWazir ad68526537 SWDEV-401678: Fixing Record IDs for File/CLI Plugin
Change-Id: Icf36f716b69d3b8ee3e84d73e276dbff4dbe70ae
2023-06-20 20:39:25 -04:00
Ammar ELWazir 04d0bd4874 SWDEV-288134: Workaround to enable roctracer early
Change-Id: Iae21dbfd9f50dcf2e317130c6dc8328f17eba553
2023-06-20 21:59:19 +00:00
Galantsev, Dmitrii 82078565e9 SWDEV-406542 - Add gtest to install targets
Change-Id: I116505aaa33109fce66ab8daf9921e2de11a27d4
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-06-20 11:14:56 -05:00
Giovanni LB 83dac81840 Removed filter ignoring PMC/ATT
Change-Id: I455bca0fe2c1016f5c04bd7c9c1b9cf90702bff7
2023-06-20 11:25:03 -04:00
Shweta Khatri 77bf357647 Defined a new extended scope memory region
Added HSA_AMD_MEMORY_POOL_GLOBAL_FLAG_EXT_SCOPE_FINE_GRAINED flag to enable extended scope memory region
where the device-scope atomics act as system-scope atomics

Change-Id: I79fc3207cb630dfc68bed2f8aabd75f35fe80b12
2023-06-20 11:00:05 -04:00
Ammar ELWazir e924466ce9 SWDEV-405933: Perfetto to support PID for MEMCopies Tracks
Change-Id: Iec7bc8ed88d5d5c23f453a872154dff1d1c2e1c1
2023-06-20 10:17:46 -04:00
James Zhu 36666f5895 Enable sleep for all waiters
Enable sleep for all waiters with event age tracking support kernel.

Change-Id: Icd4e1e8d83b4a54e9f6aaa99691a6573211b3337
Signed-off-by: James Zhu <James.Zhu@amd.com>
2023-06-20 09:32:16 -04:00
James Zhu 5871b28503 Add kernel version flag supports event age
KFD kernel version 1.13 starts to support event age
tracking which help elimating unncessary busy wait.

Change-Id: Ib447ed6e0350f3110a4d6b9b80a0388000dd0e72
Signed-off-by: James Zhu <James.Zhu@amd.com>
2023-06-20 09:32:03 -04:00
Jonathan R. Madsen 693f753a9e GitHub Actions workflow and docker updates (#290)
* Support ROCm 5.5 in docker

* Update containers workflow

- add Ubuntu and OpenSUSE container builds for ROCm 5.4 and 5.5
- add RHEL builds

* Update cpack workflow

- build on PR against main when cpack.yml or docker files updated
- removed packaging for ROCm < 5.2 for many OSes
- added packaging for ROCm 5.5

* Update OpenSUSE workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails

* Update RedHat workflow

- provide run-name
- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails

* Update Ubuntu (Bionic) workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails

* Update Ubuntu (Focal) workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
- remove testing of ROCm 4.3, 5.0, 5.1
- add testing of ROCm 5.5

* Update Ubuntu (Jammy) workflow

- add python 3.11 to OMNITRACE_PYTHON_ENVS
- upload-artifacts name includes strategy.job-index (prevent overwrite)
- only upload artifacts on failure
- continue on error if upload artifacts fails
- add testing of ROCm latest

* Dockerfile.{rhel,opensuse} update

- remove use of amdgpu-install in favor of installing rocm-dev package
  - In ROCm 5.5, amdgpu-install changed meaning of --usecase=rocm (added rocmdev use case)

* redhat workflow update

- remove use of amdgpu-install in favor of installing rocm-dev package
  - In ROCm 5.5, amdgpu-install changed meaning of --usecase=rocm (added rocmdev use case)

* build-docker.sh update

- add '--progress plain' to docker build commands

* Ubuntu (jammy) workflow update

- fix rocm installation

* Update Dockerfile.rhel

- add LIBRARY_PATH for /opt/amdgpu/lib64 for redhat

* Update Dockerfile.rhel

- install libpciaccess for rocm
2023-06-20 06:26:17 -05:00
gobhardw c630d83f22 Handle user PMC input
Change-Id: I9146453ca0390aa0df22ee4ed9ca3fb4c7b06dbf
2023-06-20 06:27:11 -04:00
Jonathan R. Madsen 1aca8c177b Perfetto annotation from timemory components (#289)
* Annotate perfetto with timemory component data

- support perfetto annotations via timemory component data, e.g. use PAPI component for exact HW counter annotations

* Tests for perfetto annotation via timemory data

* Update omnitrace-instrument

- remove --default-components argument as this overrides any components set in configuration file
- required by perfetto annotation via timemory data tests

* filter unavailable timemory components

- filter out unavailable timemory components before attempting to invoke the annotate operation on the bundle

* update annotate tests

- account for no PAPI support

* update lulesh-timemory test

- replace '-d wall_clock peak_rss' with '--env OMNITRACE_TIMEMORY_COMPONENTS="wall_clock peak_rss"'

* annotate tests update

- fix misnamed test

* annotate tests update

- restrict binary rewrite to run function to force instrumentation despite heuristics

* annotate tests update

- print {available,overlapping,excluded,instrumented} functions during binary rewrite

* annotate tests update

- add allow-overlapping flag

* Support PAPI with CAP_SYS_ADMIN

- do not disable PAPI if perf_event_paranoid > 2 but has CAP_SYS_ADMIN capability
2023-06-19 19:18:04 -05:00
Sreekant Somasekharan ea2f832a43 rocrtst: Fix RoundToPowerOf2 function
Compiler behavior is undefined if the right operand is negative,
or greater than or equal to the width of the promoted left operand.
For release builds with address sanitizer enabled, this compiler
optimization behavior leads to unsupported queue size value since
current method shifts till 128 bits on a 64 bit value.

Change-Id: Iddcc15b43d2331bc8bf5fc3aa4725f76844655ec
Signed-off-by: Sreekant Somasekharan <sreekant.somasekharan@amd.com>
2023-06-19 19:17:49 -04:00
Jonathan Kim 3e3e11bc5a Ensure HSA_ENABLE_SDMA=0 persists on new copy on engine API
Copy on engine API still needs to respect HSA_ENABLE_SDMA settings.

Change-Id: I26038b1e3082d62687c2e279615557583d20f229
2023-06-19 13:48:59 -04:00
Giovanni LB a1508035dc SWDEV-298742: Added occupancy metrics
Change-Id: I67e375ad06535bbb8cc864b78840ce3962bcc58e
2023-06-19 12:10:22 -04:00
Mark Laws 5daee04fc7 SWDEV-379554: handle multiple HSA agents correctly
Change-Id: I858dc0780628b7a2bdc1fdff2e4531d9ebdaaf30
2023-06-19 12:07:53 -04:00
Giovanni LB e1285e3fd4 SWDEV-405575: Added gfx941 and gfx942
Change-Id: I45a49cd64a76d3ae32c209497c70fe27b5be212b
2023-06-19 11:11:37 -04:00
Giovanni LB a1eb64603b SWDEV-406042: Updated readme and changelog
Change-Id: If67e96f898f7eae041c879ad0bee278badc8681f
2023-06-19 10:02:01 -04:00
Giovanni LB 4418a0fe67 SWDEV-401940: Fixed Navi21 PMC for first counter.
Change-Id: I28a06959a2819c92cc8436b181c29280e14d2291
2023-06-19 09:58:49 -04:00
Ammar ELWazir d3c39dca88 SWDEV-391589: Fixing File plugin output text
Change-Id: I5e1d46431ca2b93661772b062996ed62574c36f9
2023-06-17 00:21:56 -04:00
Ammar ELWazir d11ebc6da6 Adding Changelog Documentation PDF
rocprofiler_changelog.pdf is added to share/doc/rocprofiler/

Change-Id: I274e74da7caf8f49fe57342992e82cacdcec5b1f
2023-06-16 23:01:50 -04:00
Galantsev, Dmitrii 9519d5b8cf SWDEV-391041 - Disable TestPowerReadWrite
Change-Id: I56b5bea3e5206a6f0d5ecdb482103881f80f0b8b
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-06-16 15:18:27 -04:00
Galantsev, Dmitrii e7585cc045 Assign tests to aqua_vanjaram
Change-Id: Iee78b1e810356327261006087b081e39dab0b9e8
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2023-06-16 15:18:27 -04:00
raghavmedicherla 4142a77375 [hsa-runtime] Add support to hsa-runtime to find symbols from ".dynsym" section.
Earlier, hsa-runtime was unable to find symbols from a stripped ELF-image becasue
no support to find symbols from ".dynsym" section.

Looking for symbols in .dynsym is enabled by LOADER_USE_DYNSYM=1
environment variable

Change-Id: I4f0e8dd0eb053a6066d4d49b670c52e51149531a
2023-06-16 14:40:50 -04:00
Bill(Shuzhou) Liu d9b6af7a09 Expand showpids to provide more details
Provide details of GPU usage by an application.

Change-Id: I0f36df7d358754c2c8a60432b736d98f667ee99c
2023-06-16 08:52:18 -04:00
Jonathan R. Madsen 223536896b Fix rocprofiler usage in ROCm >= 5.5.x (#288)
Fix rocprofiler usage in ROCm >= 5.5.x

- starting with ROCm 5.5.0, rocprofiler throws exception if OnLoad + dlopen librocprofiler
- CI skipped for this PR since CI does not support GPU usage (tested locally)
2023-06-15 23:28:45 -05:00
Jonathan R. Madsen de9f0e4c10 Fix thread index values (#287)
* Update PTL

- PTL submodule waits for threads to start before proceeding

* Initialize perfetto after init_bundle

- perfetto thread creation after pthread_create wrapped

* backtrace component update

- exclude gotcha call-tree

* callchain component update

- callchain::get sorts based on timestamp
- callchain::sample supports duplicate IPs (recursion)

* Bump version to 1.10.1
2023-06-15 22:37:33 -05:00
Jonathan R. Madsen 262f1e9299 kokkosp update: disable deep copy tracing by default (#286)
kokkosp update

- disable tracing deep copies by default because inconsistent begin/end corrupts call-stack hierarchy
- tracing deep copy operations can be enabled via `OMNITRACE_KOKKOSP_DEEP_COPY`
2023-06-15 17:55:38 -05:00
Jonathan R. Madsen 2c684de367 Install rocm-dev for hipcc in ubuntu-jammy workflow (#285)
Install rocm-dev for hipcc in ubuntu-jammy workflow
2023-06-15 15:58:32 -05:00
Kent Russell 9a22bade89 kfdtest.exclude: Blacklist CuMaskingEven on all ASICs
This has slowly become less and less reliable on more and more ASICs,
so just blacklist it altogether. Using wall clock for performance
is not a reliable method for testing performance, so skip it to avoid
more failure reports on various systems.

Change-Id: I1a5744604e4620bc7675a629d146ba4ffba669d2
2023-06-15 11:24:04 -04:00
gobhardw 882f5e9967 Fixing SEGFAULT when running profiler from outside build
Change-Id: Idd8d2562157536e8c386421920b9045615a85635
2023-06-15 20:26:19 +05:30
Hao Zhou 741740b04b Merge amd-staging into amd-master 20230615
Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I67e22b2d06c8a9cd21aa3034bc78627d2fd0c586
2023-06-15 10:15:40 +08:00
David Yat Sin 5e4490f180 Update documentation for IPC handles
Explicitly mention that IPC handles can only be created on GPU agents.

Change-Id: I19bc3578d6e5243c795bf6fbf981ea4bd3bfc2e8
2023-06-14 16:21:26 -04:00
Jonathan R. Madsen 2ce0cb4a19 Remove docker hiplibsdk from amdgpu-install (#283)
Remove docker hiplibsdk from amdgpu-install

- amdgpu-install use case hiplibsdk is not necessary and bloats the install
- same as above for package rocm-hip-sdk
2023-06-14 15:09:35 -05:00
Jonathan R. Madsen ad51223960 Fix RHEL docker containers (#282)
* Fix RHEL docker containers

- avoid `yum update` since that can update the distro minor version
2023-06-14 13:18:43 -05:00