Commit Graph

1236 Commits

Author SHA1 Message Date
marandje 778f2f05bf SWDEV-555296 - Fix and enable Unit_hipEventIpc (#992) 2025-09-24 15:48:53 +02:00
Kian Cossettini 7eb606a582 Make lock init and destroy cb events instant (#1074)
Removed names changes for `ROCPROFILER_OMPT_ID_lock_init` and `ROCPROFILER_OMPT_ID_lock_destroy`. 
Made both of these callbacks instant.
2025-09-24 07:41:47 -04:00
Ioannis Assiouras c53bdb9643 SWDEV-556866 - Added misssing include of rocrctx.hpp in rocurilocator (#1094) 2025-09-24 06:44:02 +01:00
Benjamin Welton 9743ff0c74 Improve error message for invalid extra counters YAML format (#219)
When users provide an incorrectly formatted YAML file to the -E/--extra-counters
option in rocprofv3, they now receive a clear error message showing:

- What went wrong (invalid YAML format)
- The correct rocprofiler-sdk YAML structure with example
- The actual content that failed to parse

This addresses confusion where users might use the legacy ROCProfiler YAML
format instead of the new rocprofiler-sdk schema format.
2025-09-23 22:23:57 -05:00
SaleelK d0e622e978 hip-tests: Fix hipPerfBufferCopySpeed (#946)
* Fix formatting and buffer size
2025-09-23 23:11:20 -04:00
itrowbri abd6029603 [rocprofv3] MultiKernelDispatch ATT support (#774)
* Initial consecutive kernel WIP

* Updated logic after discussion, create context only when needed, change set of captured ids to dispatch_id_t type

* Updated to fix concurrency issues and revert kernel_iterations

* Add captured id in first lock capture

* Updated code to use wlock, added comments, removed some unecessary atomic

* Cleaned up, need to add test

* Add test to check that generated stats csv file is not empty

* Updated test to check if vector-ops kernels are being used

* Fix phase bug

* Updated for comments

* Flattened ATT logic a bit

* Fix incorrect if-statement

* Fix merge conflict
2025-09-23 20:19:27 -05:00
SaleelK 34b9184686 clr: Fix memory corruption for memset nodes (#1068)
* Detect graph capture and use graph kernelarg memory for FillBuffer pattern
2025-09-23 17:17:33 -07:00
Giovanni Lenzi Baraldi aece11079c SWDEV-553006: Fix slow lookup of debug symbols (#821)
* SWDEV-553006: Fix slow lookup of debug symbols

* Refactor

* Better docs

* Update projects/rocprofiler-sdk/source/include/rocprofiler-sdk/cxx/codeobj/code_printing.hpp
2025-09-24 01:54:53 +02:00
vedithal-amd 4962f237c2 Fix workload path (#1096) 2025-09-23 17:47:31 -04:00
xuchen-amd c3054c00b1 [rocprofiler-compute] Type annotation patch for analysis_db.py (#981) 2025-09-23 17:05:37 -04:00
systems-assistant[bot] 872f0aed0c Live attach/detach and its unit tests (#53) 2025-09-23 13:17:08 -04:00
Jonathan R. Madsen 9278770b89 [rocprofiler-sdk] ROCpd GOTCHA Fix (#720)
* Update GOTCHA submodule

- public API for gotcha_init
- switch repo to ROCm/gotcha

* rocpd interop GOTCHA updates

- fix issues wrapping dlopen/dlsym
2025-09-23 10:45:56 -05:00
xuchen-amd 68cd123b0f [rocprofiler-compute][TUI] improve for cross-platform uses (#1007) 2025-09-23 10:59:29 -04:00
Ioannis Assiouras 97fc90c58f SWDEV-556250 - Added synchronization before validating the result in Unit_hipStreamLegacy* tests (#1062) 2025-09-23 14:14:51 +01:00
Kian Cossettini b2a026f134 Increase timeout for openmp-vv ctests (#1083)
- Set `SAMPLING_TIMEOUT` and `REWRITE_TIMEOUT` to 300 seconds for `openmp-vv` ctests.
2025-09-23 07:45:56 -04:00
systems-assistant[bot] 1e9d8abbf6 [rocpd] Convert to perfetto does not display scratch_memory correctly - SWDEV-542550 (#168)
Add scratch memory to pftrace generated with rocpd

----

Co-authored-by: Marko Crnobrnja <Marko.Crnobrnja@amd.com>
Co-authored-by: Aleksei Tumakaev <atumakae@amd.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
2025-09-23 09:55:30 +02:00
Ajay GunaShekar 93cfcb1a4e SWDEV-556658 - skip failing tests to have a clean build (#1082)
SWDEV-556658 - Linux failures
SWDEV-556645 - Windows failures
2025-09-22 20:49:18 -07:00
Ioannis Assiouras 97bc3af918 SWDEV-550882 - Add support for hipIpcMemLazyEnablePeerAccess (#817) 2025-09-23 00:05:51 +01:00
Jason Bonnell 8b52d71cc7 rocprofiler-systems - add gfx containers to ghcr (#883)
* Initial skeleton code for rocprofiler-systems-continuous-integration.yml

* Add python3-devel to opensuse and rhel ci images

* Update rocprofiler-systems-containers.yml to include TheRock tarballs

* Update pip install command for Dockerfile.ubuntu.ci

* Fix pip install again for Dockerfile.ubuntu.ci

* Remove skeleton workflow for CI

* Add new ci-gfx containers for TheRock installs

* Add set -e and pipefail to ci Dockerfiles to detect errors

* Upgrade pip in Dockerfile.ubuntu.ci

* revert pipefail set -e change

* Replace build-docker-ci.sh script with Docker step for ci-base

* Add support for gfx950, add containers-ci-gfx.yml

* Add working-directory to matrix setup steps

* Try changing containers-ci-gfx.yml

* make more changes to containers-ci-gfx.yml

* Remove build-docker-ci.sh script from gfx step, fix typo in Dockerfile

* Remove gfx110X and gfx120X for now

* Update ci-gfx docker workflow to use ghcr.io

* Temporary change to test one image

* Enable push to test out ghcr package

* Add labels to debug oauth issue

* add pacakages permissions to step

* add rocprofiler-systems-ghcr.yml workflow

* Remove cache from Docker push action step

* Add prefix to tag

* Add back gfx94X and gfx950 support, add back no push on PR

* Remove gfx container creation from rocprofiler-systems-containers.yml

* Add a gfx950 image for now

* Revert change
2025-09-22 16:58:55 -04:00
Jason Bonnell 9d90286371 rocprofiler-sdk CI workflow improvements (#956)
Update rocprofiler-sdk and aqlprofile CI workflows to improve readability
2025-09-22 16:47:16 -04:00
Mythreya Kuricheti 09c0470ed4 [aqlprofile] Add verison info to public header (#706)
Add versioning information to public aqlprofile headers, and add API to query version at runtime
2025-09-22 11:02:42 -07:00
cfallows-amd 9819e1cbfc Refactor roofline binary detection (#933)
* Simplify the roofline binary pickup process by determining which base distribution the system OS is based off of, and select the correct binary.
* Add more OS distribution support to roofline by modifying the detection parameters and adding an AZL binary
* Update changelog to include roofline support additions

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-09-22 12:04:20 -04:00
Ajay GunaShekar 0118184d22 SWDEV-554678 - Navi44 on windows (#936)
* SWDEV-554678 - Navi44 on windows

* SWDEV-554678 - Navi44 in palsettings
2025-09-22 08:52:41 -07:00
systems-assistant[bot] 05c0a38732 SWDEV-508776 - Validate VGPRs (#620)
Add a test to verify VGPRs.
Make hipInfo show maxAddressableVgprsPerThread.

Change-Id: Ibfc2c912a54ccd1686a3930a1008c472a8465136

Co-authored-by: taosang2 <tao.sang@amd.com>
2025-09-22 11:28:05 -04:00
David Yat Sin b7095616b9 fix: fix -Wunused-parameter (#1017)
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2025-09-22 11:12:44 -04:00
vedithal-amd fa31650298 [rocprofiler-compute] make pmc files deterministic (#1066)
* make pmc files deterministic
2025-09-22 10:48:35 -04:00
itrowbri 9910705685 Disable validation tests when execution test is disabled (#1060) 2025-09-22 09:18:32 -05:00
Sunday Clement f3e1db176a rocrtst: Reduce host memory limit to 70% (#905)
* rocrtst: Reduce host memory limit to 70%

Reducing the upper bound for rocrtstFunc.Memory_Max_Mem to 70% from
90% to help reduce test execution time.

Signed-off-by: Sunday Clement <Sunday.Clement@amd.com>

* rocrtst: Add ROCRTST_LIMIT_POOL_SIZE env var

Add environment variable to override the memory pool sizes when running
tests.

Co-authored-by: David Yat Sin <David.YatSin@amd.com>

---------

Signed-off-by: Sunday Clement <Sunday.Clement@amd.com>
Co-authored-by: David Yat Sin <David.YatSin@amd.com>
2025-09-22 09:39:00 -04:00
Shadi Dashmiz 9b350754cc SWDEV-555084: Fix the python script (#996)
- no need to manually updated the newly generated hip_prof_str.h

Signed-off-by: shadi <shadi.dashmiz@amd.com>
2025-09-22 08:41:19 -04:00
abchoudh-amd a927f246f6 Fix test failures (#1059)
* Test fix

* Added path not exists check
2025-09-22 18:07:13 +05:30
systems-assistant[bot] 63a723a287 GFX12 PC Sampling support (#186)
The GFX12 host-trap PC sampling support in SDK and V3.
Introducing parser tests specific to GFX12.

Co-authored-by: vlaindic_amdeng <vladimir.indic@amd.com>
2025-09-22 13:17:00 +02:00
Venkateshwar Reddy Kandula 997b36f5bc [rocprofiler][navi4] Remove navi4x support on rocprofv2. (#307)
* Remove navi4x support on rocprofv2.

* remove gfx12 from build scripts.

* bug fix.

* address comments.

* update changelog

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* address comments

Co-authored-by: Swati Rawat <120587655+SwRaw@users.noreply.github.com>

---------

Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com>
Co-authored-by: Swati Rawat <120587655+SwRaw@users.noreply.github.com>
2025-09-22 03:17:29 -05:00
MachineTom 25922d08c3 SWDEV-539145 - Return error when ext_fine_grain_pool unavailable (#877)
Return error when ext_fine_grain_pool is unavailable for
hipHostMallocUncached, hipHostAllocUncached and
hipExtHostRegisterUncached.
Disable related tests on Navi4x where
ext_fine_grain_pool is unavailable
2025-09-21 19:25:28 -04:00
MachineTom c6c2fa212c SWDEV-1 Fix a bug of VGPRs (#1000)
Fix a bug of VGPRs due to a previous patch:
SWDEV-546223 - Get image support info from ISA meta
2025-09-21 19:23:12 -04:00
systems-assistant[bot] 69d96d9e0a SWDEV-491267 - add stream capture test for Semaphore APIs (#572)
Co-authored-by: Li, Todd tiantuo <Toddtiantuo.Li@amd.com>
2025-09-21 15:13:30 -07:00
hkasivis 5e7210980e Users/hkasivis/add ais support v2.1 (#928)
* libhsakmt: Update hsakmt_fmm_get_handle to support address range

Currently, hsakmt_fmm_get_handle works only if the address is allocated
(staring) value. Update it so it can find the handle if address falls in
the valid allocated range. This is useful for AMD infinity storage
feature where data needs to be transferred to any memory within in the
allocated range

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>

* libhsakmt: Introduce AMD Infinity Storage (AIS) API

Add hsaKmtAisReadWriteFile() API to support AMD Infinity Storage. The
API moves data directly from GPU VRAM to a file.

v2: Add in/out ioctl arguments to provide more status information to
user space. Modify hsaKmt API also accordingly.

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>

* rocr: Initial implementation of AMD Infinity Storage (AIS)

Implement first two API: hsa_amd_ais_file_write and hsa_amd_ais_file_read

v2: Change API from hsa_amd_ to hsa_amd_ais_
    Change API to take in handle instead of fd for compatibility accross
     different platforms

Original Author: Chris Freehill <Chris.Freehill@amd.com>
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>

---------

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
2025-09-20 11:30:05 -04:00
Todd tiantuo Li 7137c7f3d8 SWDEV-541478 - return hipSuccess for hipTexObjectCreate TypePitch2D with zero width or height (#712) 2025-09-19 20:48:01 -07:00
Stella Laurenzo 2e93b9f6cb [clr] Only enable comgr dynamic loading if it is a shared lib. (#1065)
Prior we were enabling dynamic loading mode if BUILD_SHARED_LIBS, but this is not correct. We should only be loading dynamically if the amd_comgr library itself is shared.

Background: we have a configuration where we use a static linked comgr stub in order to achieve LLVM isolation (it dynamically loads the comgr and compiler into a dedicated link namespace) in an otherwise dynamic linked clr.
2025-09-19 16:10:15 -07:00
systems-assistant[bot] 3cfdfe30b2 SWDEV-544502 - Skip opengl tests on devices with no image support (#542)
Co-authored-by: Ioannis Assiouras <Ioannis.Assiouras@amd.com>
2025-09-19 22:51:55 +01:00
Jatin Chaudhary e79eaaa8a5 SWDEV-546287 - Implement hipLibrary load/unload (#975) 2025-09-19 22:23:49 +01:00
ywang103-amd 775ac73d25 change interval for host_trap in unit test to adapt to single kernel (#1064) 2025-09-19 17:21:02 -04:00
Venkateshwar Reddy Kandula ec4d4b8a0d add SetGRBMToBroadcast in sqtt_builder.h (#1061) 2025-09-19 15:56:55 -05:00
Ajay GunaShekar 300cd09f0b SWDEV-555665 - skip failing tests on window (#1045)
* SWDEV-555665 - skip failing tests on window

* SWDEV-555665 - skip failing tests on window
2 missed tests added to the skip list

* SWDEV-555665 - typo in Unit_test_generic_target_in_regular_fatbin testname
2025-09-19 12:24:47 -07:00
JonathanLichtnerAMD f31afe1d20 [HIP CLR] Make hipMemPtrGetInfo consistent with malloc and hipMalloc (#1005)
hipMemPtrGetInfo was returning the error hipErrorInvalidValue if it
was called on a nullptr.  However, this does not match the malloc
convention where a nullptr has size zero;  for example,
malloc_usable_size() returns zero if called on a nullptr.

This commit changes hipMemPtrGetInfo to set the size to zero and
return hipSuccess when called with a nullptr.  (This also fits with
hipMalloc and hipFree usage, since hipMalloc of size zero results in a
nullptr, and hipFree of a nullptr is successful.)
2025-09-19 12:53:41 -06:00
Julia Jiang 1c10592be2 SWDEV-546376 - Fix CTS profiling failure (#976) 2025-09-19 13:38:28 -04:00
Tony G c34c9826c3 rocr: Remove QueueProxy (#700)
Because the base QueueWrapper class copies the wrapped queue's
amd_queue_v2_t queue descriptor struct the QueueProxy seems
superfluous as it will have the same effect as calling the
underlying methods on the wrapped queue itself.

Additionally, because the QueueProxy needs to access the wrapped
queue's queue descriptor it breaks the Queue API which is meant
to abstract the underlying agent's queue implementation.

This makes it easier to generalize the core::Queue as well as
the InterceptQueue.

Signed-off-by: Tony Gutierrez <anthony.gutierrez@amd.com>
2025-09-19 09:07:28 -07:00
German Andryeyev ea89ddd589 SWDEV-547108 - Add dll loader for Windows build (#1004)
The build of ROCR backend will be enabled by default in Windows.
It requires the dll loader until ROCR dll will be always available in Windows for any configuration.
2025-09-19 11:25:30 -04:00
jamessiddeley-amd 18b4b84a9f update TCC_EA0_RDREQ_sum def (#1039) 2025-09-19 11:21:45 -04:00
systems-assistant[bot] 3f001b0305 [rocpd] Refactor to use python to convert rocpd to CSV + add CSV tests + remove old cpp implementation (#159)
* Write agent info to CSV

* Write kernel to CSV

* Write memory copy to CSV

* Write memory allocation to CSV

* Write hip api to CSV

* Write hsa api to CSV

* Write marker api to CSV

* Write counters to CSV

* Write scratch memory to CSV

* Write rccl api to CSV

* Write rocdecode api to CSV

* Write rocjpeg api to CSV

* Remove info_process joins

* Format agent id

* Compose full file name is sql writer function

* Add missing fields to kernel traces csv

* Rename vgpr_count to arch_vgpr_count

* Fix kernel name

* Skip empty query results

* Format csv.py

* Delete c++ CSV writer

* Add CSV header comparison test

* Fix comment spacing in csv.py

* Change ALLOC to ALLOCATE in memory allocation writer

* Do not append trace to agent info file name

* Revert changes for VGPR_Count

* Fix csv validation test

* Add sorting by guid

* Use EXISTS to check query results are not empty

* Merge API-specific queries

* Optimize regions query

* Column name mapping for agent info

* Pass config to sql writer

* Move agent id string building to a separate function

* add titled_headers argument

* Remove titled-columns argument

* Improvements for regions csv

* fix CSV validation test

* improve CSV validation test

* remove roctxMarkA from csv validation test

* fix capability field titles in agent info

* remove filter.py from query as that is still experimental

* Remove some aliases, now that query will auto-title the column headers

---------

Co-authored-by: Aleksei Tumakaev <atumakae@amd.com>
Co-authored-by: Young Hui <young.hui@amd.com>
Co-authored-by: Young Hui - AMD <145490163+yhuiYH@users.noreply.github.com>
2025-09-19 10:15:57 -04:00
Ioannis Assiouras 9def133275 SWDEV-555798 - Added sync after graphLaunch for Unit_hipGetProcAddress_GraphAPIs tests (#1052) 2025-09-19 15:10:33 +01:00