Commit Graph

64521 Commits

Author SHA1 Message Date
Rahul Manocha 5672b0d380 SWDEV-454895 - Fix for Atomic Memory Order testcase failures
Change-Id: I66f92b57527c364b18a695bc9475f4c3432e742b
2024-11-19 23:26:20 -05:00
Venkateshwar Reddy Kandula 225112b15e changelog
Change-Id: I58a300d338f461a3028081b6abd4d7ee1dae560b
2024-11-19 19:49:39 +00:00
Venkateshwar Reddy Kandula 473af5ebe8 changelog
Change-Id: I58a300d338f461a3028081b6abd4d7ee1dae560b


[ROCm/rocprofiler commit: 225112b15e]
2024-11-19 19:49:39 +00:00
Rahul Manocha ee20409853 SWDEV-494409 - Fix destructor path for Static and Dynamic CO
1) For Dynamic CO variables, free the device pointer in
   DynCO destructor instead of DeviceVar destructor.
2) For Static CO Remove Fatbinary,
   only call hipFree for valid device Vars instead of all devices.

Change-Id: I84291f5371b2c05d1d0bcdb4f9c6bd122e7c9b21


[ROCm/clr commit: a2d8199402]
2024-11-19 13:04:44 -05:00
Rahul Manocha a2d8199402 SWDEV-494409 - Fix destructor path for Static and Dynamic CO
1) For Dynamic CO variables, free the device pointer in
   DynCO destructor instead of DeviceVar destructor.
2) For Static CO Remove Fatbinary,
   only call hipFree for valid device Vars instead of all devices.

Change-Id: I84291f5371b2c05d1d0bcdb4f9c6bd122e7c9b21
2024-11-19 13:04:44 -05:00
Jonathan Kim 26d338df12 kfdtest: fix dispatch pointers and event leaks tests
KFDDBGTest and KFDNegative test can eat into memory and event resources
for subsequent test interations if unallocated.

Change-Id: Iea170c20df8d487703441181b6c152b61f02d3db
2024-11-19 11:25:24 -05:00
Jonathan Kim 4b7e1d79b7 kfdtest: fix dispatch pointers and event leaks tests
KFDDBGTest and KFDNegative test can eat into memory and event resources
for subsequent test interations if unallocated.

Change-Id: Iea170c20df8d487703441181b6c152b61f02d3db


[ROCm/ROCR-Runtime commit: 26d338df12]
2024-11-19 11:25:24 -05:00
German Andryeyev ca8ca0bc35 SWDEV-494231 - Revert TS optimization
Runtime may use checkGpuTime() for the wait and not just for the GPU time queries. Hence, the call can't be skipped if profiling isn't enabled.
More changes are required for this optimization.

Change-Id: I79e8918312e755d75f0d26685f2fdc604a8ffb18


[ROCm/clr commit: e2eeb20c00]
2024-11-19 10:17:38 -05:00
German Andryeyev e2eeb20c00 SWDEV-494231 - Revert TS optimization
Runtime may use checkGpuTime() for the wait and not just for the GPU time queries. Hence, the call can't be skipped if profiling isn't enabled.
More changes are required for this optimization.

Change-Id: I79e8918312e755d75f0d26685f2fdc604a8ffb18
2024-11-19 10:17:38 -05:00
dependabot[bot] 91f636bc6e Bump rocm-docs-core[api_reference] from 1.8.4 to 1.8.5 in /docs/sphinx
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.8.4 to 1.8.5.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/v1.8.5/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.8.4...v1.8.5)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

[ROCm/rocprofiler-systems commit: 3d17f0b90a]
2024-11-19 09:36:32 -05:00
dependabot[bot] 3d17f0b90a Bump rocm-docs-core[api_reference] from 1.8.4 to 1.8.5 in /docs/sphinx
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.8.4 to 1.8.5.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/v1.8.5/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.8.4...v1.8.5)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-19 09:36:32 -05:00
Ioannis Assiouras 05312d2d2c SWDEV-497529 - Link with hip::amdhip64 target in 15_static_library/device_functions
Modified target_link_libraries to link with the hip::amdhip64
target instead of directly linking to the amdhip64 library.
This ensures that all sub-dependent libraries that are necessary
for static build are included.

Change-Id: Idf69477708172604ba9c349735d3230ae765923a


[ROCm/hip-tests commit: ef9558a160]
2024-11-19 05:32:14 -05:00
Ioannis Assiouras ef9558a160 SWDEV-497529 - Link with hip::amdhip64 target in 15_static_library/device_functions
Modified target_link_libraries to link with the hip::amdhip64
target instead of directly linking to the amdhip64 library.
This ensures that all sub-dependent libraries that are necessary
for static build are included.

Change-Id: Idf69477708172604ba9c349735d3230ae765923a
2024-11-19 05:32:14 -05:00
Jaydeep Patel 0bbf2d5244 SWDEV-498077 - Check topoOrder_ before accessing it.
Change-Id: I10e3c24ca8dc1009b8ac8ac27b3e9a6296f9a7ee


[ROCm/clr commit: d997f78be4]
2024-11-19 04:50:47 -05:00
Jaydeep Patel d997f78be4 SWDEV-498077 - Check topoOrder_ before accessing it.
Change-Id: I10e3c24ca8dc1009b8ac8ac27b3e9a6296f9a7ee
2024-11-19 04:50:47 -05:00
Ioannis Assiouras eae7d9bdc8 SWDEV-496003 - Add support for dynamic functions in hipFuncSetAttribute
Modified hipFuncSetAttribute to handle pointers to dynamic functions
returned by hipModuleGetFunction.

Change-Id: I54b98f9d31a79630dd7edcd363fad81f1d89219b


[ROCm/clr commit: 1a710dabcf]
2024-11-19 04:50:15 -05:00
Ioannis Assiouras 1a710dabcf SWDEV-496003 - Add support for dynamic functions in hipFuncSetAttribute
Modified hipFuncSetAttribute to handle pointers to dynamic functions
returned by hipModuleGetFunction.

Change-Id: I54b98f9d31a79630dd7edcd363fad81f1d89219b
2024-11-19 04:50:15 -05:00
Saleel Kudchadker 4f83e7775a SWDEV-495987 - Use shared mutex for MemObj maps
- Remove binning logic, although useful it doesnt work in current
  scenario as there is no upper limit on the size of allocation. If an
app or framework uses entire VRAM and then creates suballocs, binning
would result in failure.

Change-Id: Icc27c13e433bb4a1f03e82028d8718488b43bfa5


[ROCm/clr commit: e4d29e228d]
2024-11-19 04:28:20 -05:00
Saleel Kudchadker e4d29e228d SWDEV-495987 - Use shared mutex for MemObj maps
- Remove binning logic, although useful it doesnt work in current
  scenario as there is no upper limit on the size of allocation. If an
app or framework uses entire VRAM and then creates suballocs, binning
would result in failure.

Change-Id: Icc27c13e433bb4a1f03e82028d8718488b43bfa5
2024-11-19 04:28:20 -05:00
limeng12 853d3b0cc5 Backgroud health check
Add the RdcSmiHealth module, which will call rocm_smi_lib.
It will support following health:
 - XGMI error detected
 - PCIE replay count detected
 - Memory check
 - InfoROM check
 - Power/Thermal check
The grpc client and server side health function is added.
The health module is added to the rdci.

At present, XGMI/PCIE and a part of Memory have been implemented.
Others will be added as soon as possible.

Change-Id: I1bd99290bdc7dea733f21a41a8c4bcefb2138112
2024-11-19 14:00:49 +08:00
limeng12 71e2727a8f Backgroud health check
Add the RdcSmiHealth module, which will call rocm_smi_lib.
It will support following health:
 - XGMI error detected
 - PCIE replay count detected
 - Memory check
 - InfoROM check
 - Power/Thermal check
The grpc client and server side health function is added.
The health module is added to the rdci.

At present, XGMI/PCIE and a part of Memory have been implemented.
Others will be added as soon as possible.

Change-Id: I1bd99290bdc7dea733f21a41a8c4bcefb2138112


[ROCm/rdc commit: 853d3b0cc5]
2024-11-19 14:00:49 +08:00
Gopesh Bhardwaj a71d6dc340 Format rocporfv3 help (#1199)
* Format rocporfv3 help

* python formatter fix

[ROCm/rocprofiler-sdk commit: a976ed0783]
2024-11-18 20:51:02 -06:00
Gopesh Bhardwaj a976ed0783 Format rocporfv3 help (#1199)
* Format rocporfv3 help

* python formatter fix
2024-11-18 20:51:02 -06:00
Jonathan R. Madsen 1ea688c447 Runtime Initialization Tracing (#1105)
* Runtime initialization tracing

- calbacks and buffer entries notifying when a runtime has been initialized

* Minor cleanup to registration.cpp

* JSON tool implementation

* Increase perfetto_reader timeout

* Handle perfetto_reader timeout when attr doesn't exist

* clang-tidy fixes to memory_allocation.cpp

[ROCm/rocprofiler-sdk commit: 249c50fc40]
2024-11-18 20:50:29 -06:00
Jonathan R. Madsen 249c50fc40 Runtime Initialization Tracing (#1105)
* Runtime initialization tracing

- calbacks and buffer entries notifying when a runtime has been initialized

* Minor cleanup to registration.cpp

* JSON tool implementation

* Increase perfetto_reader timeout

* Handle perfetto_reader timeout when attr doesn't exist

* clang-tidy fixes to memory_allocation.cpp
2024-11-18 20:50:29 -06:00
itrowbri 94f4f56c40 Memory Allocation Tracking (#1142)
* Initial commit: Need to implement wrapper function to collect data and test that wrapper function is correctly replacing core HSA functions

* Attempted to implement wrapper implementation for hsa memory allocation functions. Need to modify generate record files and test if implementation is working as expected

* Debugging and implementing generateCSV function

* Memory allocation size and starting address outputted to csv and json file formats

* Formatting

* Initial setup for OTF2 and Perfetto generation

* Collecting agent id for memory_allocation and formatting

* Modified memory_allocation.cpp to set up code for AMD_EXT commands

* Support for memory_pool_allocate added

* Removed accidently added file

* Made flag optional and added more OTF2 and Perfetto code. Needs testing to ensure perfetto and OTF2 works

* Formatting

* Fixed perfetto and otf2 output

* Fixed flag issue due to incorrect buffer use

* Updated documentation

* Small cleaning and comments

* Added test for HSA memory allocation tracing

* Fixed summary test validation errors due to allocation tracing. Added type to location_base to create unique event ids for allocation due to OTF2 trace error

* Decreased lower limit of hip calls for test

* Modified summary tests to vary number of allocate requests

* Minor fixes to address comments. Still need to address OTF2 comments

* Fix docs and changed OTF2 to use enum for type specified in location_base construction

* Fixed schema error

* Added vmem command tracking. Need to add test

* Updated test to work with vmem command and updated generateCSV to output int instead of hex string.

* OTF2 enum update and mispelling fix

* CI does not support Virtual Memory API. Removed vmem test. Will add back if CI is modifed to suport vmem API

* Update CMakeLists.txt for memory allocation test

* Updated summary test

* Minor fixes to address comments

* Moved domain_type.hpp enum to before LAST

* Fixed compile errors and formatting

* Fixed stats summary domain name error

* Added rocprofv3 test

* Page migration test fix

* Undo page migration test changes. Failures do not appear to have to do with memory allocation

[ROCm/rocprofiler-sdk commit: 3bd7773cf7]
2024-11-18 20:22:14 -06:00
itrowbri 3bd7773cf7 Memory Allocation Tracking (#1142)
* Initial commit: Need to implement wrapper function to collect data and test that wrapper function is correctly replacing core HSA functions

* Attempted to implement wrapper implementation for hsa memory allocation functions. Need to modify generate record files and test if implementation is working as expected

* Debugging and implementing generateCSV function

* Memory allocation size and starting address outputted to csv and json file formats

* Formatting

* Initial setup for OTF2 and Perfetto generation

* Collecting agent id for memory_allocation and formatting

* Modified memory_allocation.cpp to set up code for AMD_EXT commands

* Support for memory_pool_allocate added

* Removed accidently added file

* Made flag optional and added more OTF2 and Perfetto code. Needs testing to ensure perfetto and OTF2 works

* Formatting

* Fixed perfetto and otf2 output

* Fixed flag issue due to incorrect buffer use

* Updated documentation

* Small cleaning and comments

* Added test for HSA memory allocation tracing

* Fixed summary test validation errors due to allocation tracing. Added type to location_base to create unique event ids for allocation due to OTF2 trace error

* Decreased lower limit of hip calls for test

* Modified summary tests to vary number of allocate requests

* Minor fixes to address comments. Still need to address OTF2 comments

* Fix docs and changed OTF2 to use enum for type specified in location_base construction

* Fixed schema error

* Added vmem command tracking. Need to add test

* Updated test to work with vmem command and updated generateCSV to output int instead of hex string.

* OTF2 enum update and mispelling fix

* CI does not support Virtual Memory API. Removed vmem test. Will add back if CI is modifed to suport vmem API

* Update CMakeLists.txt for memory allocation test

* Updated summary test

* Minor fixes to address comments

* Moved domain_type.hpp enum to before LAST

* Fixed compile errors and formatting

* Fixed stats summary domain name error

* Added rocprofv3 test

* Page migration test fix

* Undo page migration test changes. Failures do not appear to have to do with memory allocation
2024-11-18 20:22:14 -06:00
Pran Swarup 4599eda13e Fix GPU resource data of GPU power and temperature is not present on … (#23)
* Fix GPU resource data of GPU power and temperature is not present on MI300A traces

[ROCm/rocprofiler-systems commit: 7b966f7515]
2024-11-18 14:18:21 -05:00
Pran Swarup 7b966f7515 Fix GPU resource data of GPU power and temperature is not present on … (#23)
* Fix GPU resource data of GPU power and temperature is not present on MI300A traces
2024-11-18 14:18:21 -05:00
ajanicijamd 0c579dcc43 Changed libdir for external libraries built with autotools (#24)
[ROCm/rocprofiler-systems commit: 4e34700892]
2024-11-18 14:18:21 -05:00
ajanicijamd 4e34700892 Changed libdir for external libraries built with autotools (#24) 2024-11-18 14:18:21 -05:00
David Galiffi 42580afbb4 Update cmake version installed in dockerfiles (#25)
* Update cmake version installed in dockerfiles
* Standardize the cmake_minimum_required to 3.18.4 across dockerfiles
* Fix link to perl repo in opensuse docker.

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 7633d86c62]
2024-11-18 14:18:21 -05:00
David Galiffi 7633d86c62 Update cmake version installed in dockerfiles (#25)
* Update cmake version installed in dockerfiles
* Standardize the cmake_minimum_required to 3.18.4 across dockerfiles
* Fix link to perl repo in opensuse docker.

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-11-18 14:18:21 -05:00
David Galiffi d8c98d2d4d OMPT Target Offload Support (#17)
- Porting from https://github.com/ROCm/omnitrace/pull/411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows

[ROCm/rocprofiler-systems commit: 9da7365471]
2024-11-18 14:18:21 -05:00
David Galiffi 9da7365471 OMPT Target Offload Support (#17)
- Porting from https://github.com/ROCm/omnitrace/pull/411
- Improve OMPT support
- Add OpenMP target example to testing
- Update Timemory submodule to use ROCm/Timemory rather than NERSC/Timemory
- Update `actions/upload-artifacts` to v4
- Standardize the `cmake_minimum_required` to 3.18.4 across workflows, project, and examples
- Updated Ubuntu 20.04 workflows
2024-11-18 14:18:21 -05:00
David Galiffi 86a2901239 Update CODEOWNERS
[ROCm/rocprofiler-systems commit: 6d28b071f5]
2024-11-18 14:18:21 -05:00
David Galiffi 6d28b071f5 Update CODEOWNERS 2024-11-18 14:18:21 -05:00
David Galiffi 7a4d9685de Update CODEOWNERS
[ROCm/rocprofiler-systems commit: 0e9d77c365]
2024-11-18 14:18:21 -05:00
David Galiffi 0e9d77c365 Update CODEOWNERS 2024-11-18 14:18:21 -05:00
Peter Park 89950ccd37 Add CHANGELOG.md (#18)
[ROCm/rocprofiler-systems commit: 09f5ac643b]
2024-11-18 14:18:21 -05:00
Peter Park 09f5ac643b Add CHANGELOG.md (#18) 2024-11-18 14:18:21 -05:00
David Galiffi affeda8783 Fix for proto files not being viewable in Perfetto UI (#16)
- Fix for proto files not being viewable in Perfetto UI
  - Ported from https://github.com/ROCm/omnitrace/pull/411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 46ca5ca265]
2024-11-18 14:18:21 -05:00
David Galiffi 46ca5ca265 Fix for proto files not being viewable in Perfetto UI (#16)
- Fix for proto files not being viewable in Perfetto UI
  - Ported from https://github.com/ROCm/omnitrace/pull/411

- Update Workflows

- Use V47 trace_processor_shell for certain OS releases.
  - RedHat 8, SUSE 15.5, and Ubuntu 20.04 are no longer compatible with the latest trace_processor_shell.
  - Incompatible version of GLIBC.

- Remove notes about Perfetto workaround in documentation.

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
2024-11-18 14:18:21 -05:00
dependabot[bot] 07b9f39ab2 Bump rocm-docs-core[api_reference] from 1.8.2 to 1.8.3 in /docs/sphinx (#12)
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.8.2 to 1.8.3.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.8.2...v1.8.3)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-systems commit: 83451e04ae]
2024-11-18 14:18:21 -05:00
dependabot[bot] 83451e04ae Bump rocm-docs-core[api_reference] from 1.8.2 to 1.8.3 in /docs/sphinx (#12)
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.8.2 to 1.8.3.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.8.2...v1.8.3)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-18 14:18:21 -05:00
David Galiffi 8500f9128d Update weekly-mainline-sync.yml
Restrict job to the ROCm/rocprofiler-systems repository. 
No need to run on forks.

[ROCm/rocprofiler-systems commit: 043aa81baf]
2024-11-18 10:46:29 -05:00
David Galiffi 043aa81baf Update weekly-mainline-sync.yml
Restrict job to the ROCm/rocprofiler-systems repository. 
No need to run on forks.
2024-11-18 10:46:29 -05:00
dependabot[bot] 97a2dd1c1f Bump rocm-docs-core[api_reference] from 1.8.3 to 1.8.4 in /docs/sphinx
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

[ROCm/rocprofiler-systems commit: 915aa50560]
2024-11-18 09:54:15 -05:00
dependabot[bot] 915aa50560 Bump rocm-docs-core[api_reference] from 1.8.3 to 1.8.4 in /docs/sphinx
Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 09:54:15 -05:00
David Galiffi bd491addd6 Weekly promotion of staging to mainline
Perform an ff-only merge of `amd-staging` into an `amd-mainline` staging branch and open a pull request.


[ROCm/rocprofiler-systems commit: 3c1db92d9e]
2024-11-18 09:41:48 -05:00