Commit Graph

199 Commits

Author SHA1 Message Date
Giovanni Lenzi Baraldi 2cd198a7e7 Gbaraldi/threadtrace2 (#724)
* Added first ATT API

* Finalizing thread trace API

* Fixing more rebase conflicts

* Added codeobj disassembly sample

* Fixing merge issues with rebase [2]

* Adding ATT packets

* Implemented thread trace intercept

* Moved codeobj parser to same repo as rocprofiler

* Moved thread trace to new API

* Fixing merge conflicts

* Fixing more merge conflicts

* Adding thread trace packet reuse

* Merged aql_profile_v2 headers

* Linked ATT sample to aqlprofile

* Updated decoder to include non-loaded codeobjs

* Implemented ISA decoder into ATT sample

* Added marker_id to vaddr

* Updating aql_profile_v2 API to memcpy

* Updating thread trace API to include 64bit markers. Using the result of ISA matching.

* Added instruction type and cycles summary

* Updated sample with selection of kernel by kernel_object

* Added option to copy from memory kernels

* Moved tool_data in thread_trace to dynamic alloc

* Restoring hsa.cpp

* Fixed ATT sample crash. General improvements.

* Moved codeobj library to outside src/

* Updated license header

* Moved codeobj_capture to camelcase

* Solving some more merge conflicts

* Update samples/advanced_thread_trace/CMakeLists.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update samples/advanced_thread_trace/CMakeLists.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update samples/code_object_isa_decode/CMakeLists.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update source/lib/rocprofiler-sdk/thread_trace/CMakeLists.txt

* Removing unused parameter check

* Adding const to isEmpty

* Removing unused warning

* Adding libdw-dev to requirements

* Running clang-format

* Commenting out new aql calls

* Clang format

* Unused variable fix

* Adding codeobj-decoder coverage

* Commenting out threadtrace

* Update samples/CMakeLists.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* P

* WOverloaded

* Addressing clang-tidy

* Virtual destructor on ttracer class

* Corr id

* Fixing code source format

* Update CMakeLists.txt

* Build fixes

* Update source/lib/rocprofiler-sdk-codeobj/code_object_track.cpp

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix shadowing

* Update CMakeLists.txt

* Update samples/CMakeLists.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>
Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 69b8a43dc6]
2024-04-08 12:43:02 -07:00
Gopesh Bhardwaj b501f25ba0 adding missing tool options (#746)
[ROCm/rocprofiler-sdk commit: d2bad14bf6]
2024-04-08 22:45:02 +05:30
Mythreya fb1b61d79a Add support for scratch reporting (#523)
* Add ToolsApiTable

Add ToolsApiTable wrapping for
scratch memory tracking

* Add initial support for scratch memory tracking

Buffering is implemented

* cmake formatting (cmake-format) (#525)

Co-authored-by: MythreyaK <MythreyaK@users.noreply.github.com>

* source formatting (clang-format v11) (#524)

Co-authored-by: MythreyaK <MythreyaK@users.noreply.github.com>

* Add callback tracing for scratch

Fixed the error where scratch tracking init was called irrespective of whether any client requested for it

* Apply suggestions from code review

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>

* Fix tools api copy/update

Table were saved/updated incorrectly in previous
commit. Also adds passing user data through the callback

* Fix OpKind sequence for scratch tracking

Previously scratch was using OpKind from rocprofiler-sdk, but
templates were instantiated using API ID. These differ by 1

* Integration tests for scratch reporting

Added buffer and callback integration tests for scratch reporting

* source formatting (clang-format v11) (#550)

Co-authored-by: MythreyaK <26112391+MythreyaK@users.noreply.github.com>

* cmake formatting (cmake-format) (#551)

Co-authored-by: MythreyaK <26112391+MythreyaK@users.noreply.github.com>

* python formatting (black) (#549)

Co-authored-by: MythreyaK <26112391+MythreyaK@users.noreply.github.com>

* CI fixes

* source formatting (clang-format v11) (#554)

Co-authored-by: MythreyaK <26112391+MythreyaK@users.noreply.github.com>

* Update api

Rebase on main and updates based on PR feedback

* Update scratch reporting and address PR comments

- Added agent id to buffer records
- Updated `test_internal_correlation_ids` - Is almost identical to
  one in async-copy
- Updated scratch test to check for agent id
- Updated queue id serialization in callback records (prints
  handle as nested key)
- Remove `marker_api_traces` from scratch `test_internal_correlation_ids`
  validation test
- Rename `amd_tools_api` to `scratch_memory`
- Added doxygen comments
- Remove scratch callback from `tool.cpp`
- Replace assert with `LOF_IF` in `scratch_memory.cpp`

* Update tools table

Changed to match up with changes to hsa tables in main branch

* Rework scratch memory structure

* Update tests

- Added suggestions from PR review, and updated tests accordingly

* Misc cleanup

* Update scratch test

As of Apr 4th, `hsa_amd_agent_set_async_scratch_limit` is disabled.

Note,
> This API: `hsa_amd_agent_set_async_scratch_limit` is currently
> disabled. We need some changes in CP firmware to be able to do this
> and these changes are not ready yet.
> With the current code, you will also not get notifications for
> alternate-scratch allocations because this feature has been disabled
> while CP firmware is making additional changes
> We are hoping to have that feature enabled by ROCm-6.3

* Minor update to lib/rocprofiler-sdk/internal_threading.*

- delay destruction of shared_ptrs of the tasks to prevent rare (but possible) data race on the destruction of the shared_ptr

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: MythreyaK <MythreyaK@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: 4fa165ec1a]
2024-04-05 20:32:57 -05:00
Ammar ELWazir 5d053f3a7c Update rerun.yml
[ROCm/rocprofiler-sdk commit: 5ebcc6b11a]
2024-04-05 16:47:30 -05:00
Ammar ELWazir fd82efc39c Update rerun.yml
[ROCm/rocprofiler-sdk commit: ba39f8c9cc]
2024-04-05 16:36:46 -05:00
Ammar ELWazir 4abc6812ce Update rerun.yml
[ROCm/rocprofiler-sdk commit: 966659eb5c]
2024-04-05 16:23:35 -05:00
Ammar ELWazir 80890632d5 Update rerun.yml
[ROCm/rocprofiler-sdk commit: fb48e28112]
2024-04-05 15:57:41 -05:00
Ammar ELWazir 55d1a14fc9 Update rerun.yml
[ROCm/rocprofiler-sdk commit: 417284cd51]
2024-04-05 13:30:01 -05:00
Ammar ELWazir 675d5baf2a Update rerun.yml (#743)
[ROCm/rocprofiler-sdk commit: 76b27fb2d0]
2024-04-05 12:28:16 -05:00
Ammar ELWazir 90b8328902 Update to Clang-tidy-15 (#742)
* Update continuous_integration.yml

* Update build.sh

* Update continuous_integration.yml

* Update build.sh

* Update continuous_integration.yml

[ROCm/rocprofiler-sdk commit: 176d1552cf]
2024-04-05 07:43:17 -05:00
Ammar ELWazir 7575ee58ce Update rerun.yml
[ROCm/rocprofiler-sdk commit: 91307cab11]
2024-04-04 21:38:01 -05:00
Ammar ELWazir 4d7b831f55 Rerun for pc-sampling runner-set (#741)
* Update rerun.yml

* Update rerun.yml

* Update rerun.yml

[ROCm/rocprofiler-sdk commit: 791aa0bcda]
2024-04-04 21:00:58 -05:00
Ammar ELWazir 4ed58bb885 Update rerun.yml
[ROCm/rocprofiler-sdk commit: eae890e335]
2024-04-04 12:21:32 -05:00
Ammar ELWazir c74379fa5b Update rerun.yml
[ROCm/rocprofiler-sdk commit: ad22340a8c]
2024-04-04 12:17:36 -05:00
Ammar ELWazir baf290269d Fixing Re-Run (#740)
* Update rerun.yml

* Update rerun.yml

* Update rerun.yml

* Update rerun.yml

[ROCm/rocprofiler-sdk commit: 48e4af1685]
2024-04-04 11:27:24 -05:00
Ammar ELWazir 9d846f0553 Fixing rerun comments (#738)
* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Rerun separated in different yml file

* Update rerun.yml

* Update rerun.yml

* Update rerun.yml

[ROCm/rocprofiler-sdk commit: 8c6017e7ff]
2024-04-04 11:02:14 -05:00
Ammar ELWazir e809612fff Adding PC Sampling CI (#739)
* Create ci_pc_sampling.yml

* Update continuous_integration.yml

* Update ci_pc_sampling.yml

* Update ci_pc_sampling.yml

* Update continuous_integration.yml

[ROCm/rocprofiler-sdk commit: 8c03c8a914]
2024-04-04 10:03:08 -05:00
Ammar ELWazir b5d4745e4e Adding useful scripts for formating and building (#737)
* Addin useful scripts for formating and building

* Update build.sh

* Update build.sh

* Update continuous_integration.yml

[ROCm/rocprofiler-sdk commit: 5bb087f072]
2024-04-04 06:49:17 -05:00
Benjamin Welton f090e6d784 Add debug printing for write interceptor injected packets (#674)
* Add debug printing for write interceptor injected packets

Adds debug printing for write interceptor injected
packets. All packets that pass through the write
intercepter while enabled will be printed.

Only executes/prints when the environment variable
GLOG_v is set to 2 or higher (otherwise it is a no-op
and the expression is not evaluated).

* source formatting (clang-format v11) (#675)

Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

* Changes on fmt location

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: e0caae9ebc]
2024-04-03 18:14:22 -07:00
Benjamin Welton 80e32505d5 Convert LOG() -> ROCP_X logging macros. (#695)
* Convert LOG() -> ROCP_X logging macros.

This patch converts the LOG() macro to the ROCP_X logging macros.
There are the following levels of logs.

Logs whos expressions are not evaluated unless the log level is enabled:

ROCP_TRACE - VLOG(2) (enabeled by env variable GLOG_v=2)
ROCP_INFO - VLOG(1) (enabeled by env variable GLOG_v=1)

Logs whos expressions are always evaluated:

ROCP_WARNING - LOG(WARNING)
ROCP_ERROR - LOG(ERROR)
ROCP_FATAL - LOG(FATAL)
ROCP_DFATAL - DLOG(FATAL) (only fatal in debug mode)

* source formatting (clang-format v11) (#696)

Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

* Minor fix

* Fixes for VLOG before main

* fix vmodule

* source formatting (clang-format v11) (#718)

Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

* memory leak fix

* Vlog change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: 41c0ddd72d]
2024-04-02 17:15:30 -07:00
Gopesh Bhardwaj d7781d0b40 README update (#730)
* README update

* Addressing review comments

[ROCm/rocprofiler-sdk commit: 5e4dd502d9]
2024-04-02 14:11:05 -05:00
Ammar ELWazir 076fb895ec Update formatting.yml
[ROCm/rocprofiler-sdk commit: 872aa1b1d2]
2024-04-02 11:28:44 -05:00
Benjamin Welton 19ecb86ee3 Wait for all memory copies to complete before allowing destruction (#725)
* Wait for all mem copies to complete before destroying.

* Update source/lib/rocprofiler-sdk/hsa/async_copy.cpp

Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>

* Update async_copy.cpp

---------

Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com>

[ROCm/rocprofiler-sdk commit: 1e612a5e52]
2024-04-02 08:22:37 -05:00
Jonathan R. Madsen 6fe6bcc832 Stop all client contexts prior to finalization (#721)
* Stop all client contexts prior to finalization

* Update lib/common/container/static_vector.hpp

- improve emplace_back for non-{move,copy}-assignable object

* Update samples/intercept_table/client.cpp

- improve robustness against static object destruction

* Update lib/rocprofiler-sdk/context/context.cpp

- change storage of registered context array
  - stable_vector of optional contexts
  - common::static_object wrapper around stable_vector

* Update samples/intercept_table/client.cpp

- use variable template for underlying function pointer

[ROCm/rocprofiler-sdk commit: 939e23e9d1]
2024-04-02 03:05:11 -05:00
Gopesh Bhardwaj 3cb4c162f7 SWDEV-451569: bug in tracing options (#728)
[ROCm/rocprofiler-sdk commit: e3c7eed7c0]
2024-04-02 03:03:02 -05:00
dependabot[bot] e5fdc0a747 Bump actions/configure-pages from 4 to 5 (#706)
Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 4 to 5.
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](https://github.com/actions/configure-pages/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/configure-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

[ROCm/rocprofiler-sdk commit: 9d6809d0b6]
2024-04-02 02:34:32 -05:00
Ammar ELWazir a130be0ccc Formating Issue fix (#726)
* Update formatting.yml

* Update formatting.yml

* Update client.cpp

* Update formatting.yml

* Update samples/api_buffered_tracing/client.cpp

* Update client.cpp

[ROCm/rocprofiler-sdk commit: ddbcf34da5]
2024-04-02 02:14:59 -05:00
Ammar ELWazir 18940a08b8 Update validate.py (#727)
[ROCm/rocprofiler-sdk commit: c45573f559]
2024-04-02 01:59:33 -05:00
Ammar ELWazir 521e2794e6 Update run-ci.py (#641)
* Temp: Fixing node id

* source formatting (clang-format v11) (#709)

Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>

* Using logical node id

* Update agent.cpp

* Update agent.cpp

* Python formatting

* Update run-ci.py

* Update run-ci.py

* Update continuous_integration.yml

* Update continuous_integration.yml

running directly using the prepared runner container

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update run-ci.py

* Clean up

* Fixing install paths

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Fixing GPU Agents Test Validation

* python formatting (black) (#712)

Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>

* Fixing the issue with rocclr detected kernels __amd_rocclr_.*

* python formatting (black) (#713)

Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>

* Fixing the issue with rocclr detected kernels __amd_rocclr_.*

* Fixing static number of async copies and using hsa_api instead for validation

* python formatting (black) (#714)

Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>

* Increasing the time limit for waiting on active signals

* Update continuous_integration.yml

* Update async_copy.cpp

* Update CMakeLists.txt

* changing node id to logical node id in rocprofv3

* Update tool.cpp

* testing async mem copy signal decrement

* Update logging.cpp

* Update validate.py

---------

Co-authored-by: Ammar ELWazir <aelwazir@rocprofiler1.amd.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>
Co-authored-by: Ammar ELWazir <aelwazir@rocprofiler2.amd.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: 2905fb5e95]
2024-04-02 01:39:24 -05:00
Ammar ELWazir c1c514f743 Use logical_node_id for mapping rocprofiler agents to HSA agents (#708)
* Temp: Fixing node id

* source formatting (clang-format v11) (#709)

Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>

* Using logical node id

* Update agent.cpp

* Update agent.cpp

* Python formatting

---------

Co-authored-by: Ammar ELWazir <aelwazir@rocprofiler1.amd.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ammarwa <3832908+ammarwa@users.noreply.github.com>
Co-authored-by: Ammar ELWazir <aelwazir@rocprofiler2.amd.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: 62625d0aa1]
2024-04-02 01:38:18 -05:00
Benjamin Welton a79493bbb9 Revert "Add additional debug info and do iteration on per-agent basis" (#723)
This reverts commit a66d3475b6.

[ROCm/rocprofiler-sdk commit: 4200faf813]
2024-04-01 22:27:27 -07:00
Benjamin Welton a66d3475b6 Add additional debug info and do iteration on per-agent basis
[ROCm/rocprofiler-sdk commit: 6fc239f6eb]
2024-04-01 18:45:04 -07:00
Jonathan R. Madsen f2c193a7e6 Update internal threading (#720)
- update lib/rocprofiler-sdk/internal_threading.*
- use PTL::TaskManager instead of PTL::TaskGroup
  - easier to handle for our needs
  - eliminate data race in rocprofiler_flush_buffer
  - combine memory management of TaskManager and ThreadPool

[ROCm/rocprofiler-sdk commit: 092c428b78]
2024-04-01 20:31:54 -05:00
Benjamin Welton e2dfd3bbc9 Add debug printout for data in CC validate
[ROCm/rocprofiler-sdk commit: 001f9baa04]
2024-04-01 13:02:50 -07:00
Ammar ELWazir 58addf80dc Formatting as suggestion in the same branch (#711)
* Update formatting.yml

* Update agent.cpp

* Update agent.cpp

[ROCm/rocprofiler-sdk commit: e6237637eb]
2024-04-01 13:11:09 -05:00
Ammar ELWazir 80dee55f75 Update formatting.yml
[ROCm/rocprofiler-sdk commit: 7c3e4593bf]
2024-03-30 07:21:48 -05:00
Ammar ELWazir ccc21f5c10 Update docs.yml
[ROCm/rocprofiler-sdk commit: 8534dfa1f3]
2024-03-30 07:21:24 -05:00
Ammar ELWazir 3c10a1410c Update continuous_integration.yml
[ROCm/rocprofiler-sdk commit: 6077ddf9ca]
2024-03-29 21:58:18 -05:00
Ammar ELWazir 59a8b7b723 Update continuous_integration.yml
[ROCm/rocprofiler-sdk commit: bc97ae0370]
2024-03-29 20:25:44 -05:00
Ammar ELWazir 42a1edbe2f Adding public sync (#703)
* Create sync-mainline.yaml

* Create sync-staging.yaml

[ROCm/rocprofiler-sdk commit: 332374b3fe]
2024-03-29 18:09:00 -05:00
Ammar ELWazir 05701fcfc0 Update continuous_integration.yml
[ROCm/rocprofiler-sdk commit: 2a1e9b3f11]
2024-03-29 17:16:14 -05:00
Gopesh Bhardwaj 20652f775a SWDEV-452077 Fixing MI300 list counters and metrics issue (#701)
[ROCm/rocprofiler-sdk commit: ecc79b1fa3]
2024-03-29 14:44:38 -07:00
Benjamin Welton f29707c7b7 Make dimension error message print the counter name (#658)
* temp

* source formatting (clang-format v11) (#659)

Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <1683479+bwelton@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: f0924c6aa7]
2024-03-26 17:19:04 -05:00
Gopesh Bhardwaj 9400df8992 counter collection header update in docs (#690)
[ROCm/rocprofiler-sdk commit: f633278720]
2024-03-26 17:18:39 -05:00
Jonathan R. Madsen eede2ffea2 Update HSA copy table (#687)
- two copies of HSA table: internal and tracing
- internal is used to invoke HSA function without any possibility of triggering tracing, etc.

[ROCm/rocprofiler-sdk commit: bc9f86ec62]
2024-03-26 17:11:34 -05:00
Jonathan R. Madsen 34d3257fb1 Fix agent node id + randomize offset id (#625)
* Fix agent node id + randomize offset id

- fixes the node_id value
- randomizes a constant offset for the id.handle values
- switch to using node ids in rocprofiler-sdk-tool library
- update tests related to agents

* Logical node id

- sequential node id values from 0 to (N-1) where N is the number of agents

[ROCm/rocprofiler-sdk commit: 1addfed9f6]
2024-03-21 20:04:21 -05:00
Jonathan R. Madsen 5716eae6e1 Handle hsa_queue_destroy after finalization (#679)
* Handle hsa_queue_destroy after finalization

- fixes issue where hsa_queue_destroy(...) is invoked after rocprofiler-sdk has finalized
- hsa::get_queue_controller() returns pointer
- if queue controller is a null pointer, skip invoking QueueController::destroy_queue

* Update HIP/HSA/marker update_table logging

* Update rocprofv3 tests

- remove HSA_TOOLS_LIB env variable
- remove setting ROCPROFILER_LOG_LEVEL env variable
- add timeouts to tests which are missing them

* Disable thread sanitizer deadlock detection

* Update CI workflow

- rename vega20-ubuntu job to core-ci
- enable navi32 in core-ci and sanitizers

* Update run-ci.py

- set gcovr html medium and high threshold

* Update lib/rocprofiler-sdk/hsa/queue_controller.cpp

- remove this capture from enable/disable serialization

* Update lib/rocprofiler-sdk/hsa/{hsa_barrier,profile_serializer}.*

- hsa_barrier::set_barrier accepts const-ref to queue map
- profile_serializer::enable and profile_serializer::disable accept const-ref to queue map

* Logging for HIP/HSA/marker/profile_serializer

* Logging for HIP/HSA/marker/queue_controller

* Improve test_retired_correlation_ids asserts

* Fix tests/counter-collection/validate.py

- scale expected SQ_WAVES counter value based on warp size of GPU

* Tweak github comment for code coverage

* Remove gcovr html high/medium threshold args

* Fix tests/counter-collection/validate.py

- round before casting to int in test_counter_values

* operator bool for profile_serializer

- only wait on CV if profile_serializer is used

* Logging updates (profile_serializer + code_object)

* Update counter-collection validate.py

* QueueController does not wait on CV if finalizing/finalized

* Update CI workflow

- remove navi32 from core job

* Improve HIP/HSA/marker tracing get_functor/functor

- remove lambda wrapper around functor

* Update lib/rocprofiler-sdk/hsa/queue_controller.cpp

- do not acquire cvmutex lock during finalization

* Update lib/rocprofiler-sdk/hsa/hsa_barrier.*

- move ctor and dtor to implementation
- skip signal store screlease and destroy if already finalized

* Update CI workflow

- remove navi32 runners

* bwelton fixes for hangs

* CMake improvements + simplified demangle

- remove amd-comgr from common target (and thus removed from roctx DT_NEEDED)

---------

Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 2f9b1767e9]
2024-03-21 17:52:15 -05:00
Vladimir Indic 141783bb83 PCS parser is aware of external correlation IDs (#639)
* PCS parser is aware of external correlation IDs

* source formatting (clang-format v11) (#640)

Co-authored-by: vlaindic <139573562+vlaindic@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

[ROCm/rocprofiler-sdk commit: 78939e705a]
2024-03-15 14:04:06 -05:00
Ammar ELWazir 773e934611 Update continuous_integration.yml (#638)
* Update continuous_integration.yml

Adding a more stable docker image to use

* Fixing jobs dependencies

* Fixing job image url

[ROCm/rocprofiler-sdk commit: 1fa0b51263]
2024-03-15 11:18:55 -05:00
Jonathan R. Madsen 3712738692 Context Updates (#624)
* Improve error checks related to context create/start/stop/is_valid

* Bump version to 0.2.1

* Track number of kernels associated with correlation id

- add atomic kernel counter variable to context::correlation_id

* Update lib/rocprofiler-sdk/hsa/queue.cpp

- apply the +/- kernel count

[ROCm/rocprofiler-sdk commit: 0fdb21c050]
2024-03-14 04:40:58 -05:00