Commit grafiek

279 Commits

Auteur SHA1 Bericht Datum
Jonathan R. Madsen 116717e64a Update rocprofv3/tracing-hip-in-libraries test config and validation (#871)
* Update rocprofv3/tracing-hip-in-libraries test config and validation

- enable marker tracing
- remove hip compiler tracing

* Update tests/pytest-packages/pytest_utils/perfetto_reader.py

- handle intermittent failures to construct trace processor

[ROCm/rocprofiler-sdk commit: f14f5a994e]
2024-05-23 19:03:54 -05:00
Jonathan R. Madsen 9fde046078 JSON schema + JSON node vs. Perfetto category consistency (#869)
* Fix schema differences b/t JSON and perfetto

- "kernel_dispatches" (JSON) vs. "kernel_dispatch" (Perfetto) -> "kernel_dispatch"
- "scratch_api" (JSON) -> "scratch_memory"

* Update include/rocprofiler-sdk/cxx/serialization.hpp

- remove unnecessary includes causing circular dependency

* rocprofv3 docs

- Output formats
- JSON schema

* Spelling fix

* Update schema descriptions

* Improve assert log in test_perfetto_data

[ROCm/rocprofiler-sdk commit: b4dc4f8e92]
2024-05-22 20:36:27 -05:00
Jonathan R. Madsen 46a9637496 Adding Perfetto support (#867)
* Perfetto submodule

* include/rocprofiler-sdk/cxx/perfetto.hpp

- adapted from tests/common/perfetto.hpp
- updated json-tool to use <rocprofiler-sdk/cxx/perfetto.hpp>

* Update include/rocprofiler-sdk/cxx

- add details/delimit.hpp
- add details/join.hpp
- extend details/mpl.hpp
- extend details/operators.hpp

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

- update MEMORY_COPY direction names

* Preliminary perfetto support

* Update lib/rocprofiler-sdk-tool/generatePerfetto.cpp

- fix getting roctx msg vs. buffer operation name

* Temporary variable restructuring

* Perfetto patches after rebasing onto main

* Revert lib/rocprofiler-sdk/hsa/async_copy.cpp

- revert name

* Update lib/rocprofiler-sdk-tool/generatePerfetto.cpp

- fix ReadTrace

* Update tests/bin/hip-in-libraries

- sleep_for

* Support PFTRACE output format option in rocprofv3

* Change perfetto logging

* Update rocprofv3 tests to generate pftrace output

* Minor tweak to json-tool.cpp

* Update requirements.txt for perfetto testing

* Fix data race on amount_read in generatePerfetto.cpp

* Add testing for pftrace output

- relatively simple testing which verifies that the pftrace file has the same number of entries as JSON data for HIP/HSA/marker/kernel/memory_copy

* Fix import in perfetto_reader.py

* Fix data race in generatePerfetto.cpp

[ROCm/rocprofiler-sdk commit: 957bb7a4e5]
2024-05-22 15:51:12 -05:00
Jonathan R. Madsen 0ba9f26a6a Adding JSON support (#860)
* Adding json support

minor bugs

Fixing tests

Fixing formatting issues

Fixing test

test fix

Misc testing fixes

Use rocprofiler/cxx/name_info in rocprofiler-sdk-tool

fixes to reduce the Json file size

Update source/lib/rocprofiler-sdk-tool/generateJSON.cpp

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

Update source/lib/rocprofiler-sdk-tool/generateJSON.cpp

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

Update source/lib/rocprofiler-sdk-tool/tool.cpp

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

Update source/lib/rocprofiler-sdk-tool/tool.cpp

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

Update source/lib/rocprofiler-sdk-tool/helper.hpp

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

Update source/lib/rocprofiler-sdk-tool/helper.hpp

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

Update source/lib/rocprofiler-sdk-tool/generateJSON.hpp

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

Update source/lib/rocprofiler-sdk-tool/generateJSON.cpp

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

Update source/lib/rocprofiler-sdk-tool/generateJSON.cpp

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

Update source/lib/rocprofiler-sdk-tool/tool.cpp

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

Update source/lib/rocprofiler-sdk-tool/tool.cpp

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

Update source/lib/rocprofiler-sdk-tool/helper.hpp

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

Update source/lib/rocprofiler-sdk-tool/tool.cpp

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

Update source/lib/rocprofiler-sdk-tool/generateJSON.cpp

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

Update source/lib/rocprofiler-sdk-tool/generateJSON.cpp

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

misc fixes

Removing int cast for JSON tests

formatting

removing a condition test on Navi3

adding debug info

Misc fix

* CSV updates

- fix stats
- numerical formatter support for customizing write_csv_entry
- misc formatting
- get_marker_stats_file

* Misc tests/rocprofv3/counter-collection/input2 fixes

- rocprofiler_configure_pytest_files in rocprofv3/counter-collection/input2
- removed state code from merge in rocprofv3/counter-collection/input2

* Tool: "Agent-id" -> "Agent_Id"

- consistency

* Tool update

- remove rocprofiler_tool_marker_record_t
- add marker_tracing_kind_conversion
- fix memory leak in write_json
- minor update to get_output_stream
- rework handling of marker records

* Update tests/pytest-packages/pytest_utils/__init__.py

- add collapse_dict_list function for converting a dictionary value that is a list of length one into a directly mapped value

* Update tests/rocprofv3/**/conftest.py

- use collapse_dict_list when reading in JSONs

* Update tests/rocprofv3/counter-collection/input1/validate.py

- relax testing requirements gfx1102 (AQLProfile bugs)
  - in addition to relaxed testing requirements for gfx1101

* Update tests/rocprofv3/tracing/validate.py

- fix removal of PID in every marker record

* Update tests/rocprofv3/tracing-plus-cc

- remove test design that relies on iterating subdirectories

* Wrapper around __libc_start_main

- Ensures finalization happens before main returns
- Update tests/rocprofv3/tracing/validate.py
  - wrapper around __libc_start_main changed roctx calls

* Combine include/rocprofiler-sdk/cxx/serialization.hpp and include/rocprofiler-sdk/external/serialization.hpp

- tests/common/serialization.hpp simply includes include/rocprofiler-sdk/cxx/serialization.hpp now

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

- tracing function immediately returns when fini_status is non-zero

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

- remove logging of tracing function when fini_status is non-zero

* Update lib/rocprofiler-sdk-tool/CMakeLists.txt

- remove rocprofv3_trigger_list_metrics.cpp from TOOL_SOURCES

* Update tests/rocprofv3/tracing-plus-cc/CMakeLists.txt

- fix depends

* Domain statistics

* Update tests/rocprofv3/tracing-plus-cc/CMakeLists.txt

- do not set ROCP_LOG_LEVEL in env

* Remove erroneous <bits/utility.h> include

* Restructure tool source + reduce tool table + support multiple formats

- buffered_output struct for handling output
- support multiple output formats, e.g. --output-format csv,json
- rename buffer_type_t -> domain_type
- simplified generation of CSV output files
- removed rocprofiler_tool_marker_record_t

* Update lib/common/container/ring_buffer.hpp

- value_type alias in ring_buffer<Tp>

* Remove all but one json-execute tests

- generate CSV and JSON in same run

* Fix include for domain_type.cpp

* Update tests/rocprofv3/tracing-plus-cc/input.txt

- only specify counters which can be found on gfx8, gfx9, gfx10, gfx11, etc.
- use :device= syntax

* Update lib/rocprofiler-sdk-tool/config.cpp

- support :device=N syntax for counters file
- improve stripping comments in PMC files
- only read after pmc:

* Rework tool library counter collection

- fatal error if all requested counters for device are not found
- support :device= syntax

* Update tests/rocprofv3/tracing-plus-cc/input.txt

- removed L2CacheHit (not supported on mi300)

* Disable JSON tests in tests/rocprofv3

* Update include/rocprofiler-sdk/cxx/serialization.hpp

- support rocprofiler_record_dimension_info_t

* Update tool JSON schema

- remove domain_type::CODE_OBJECT
- rocprofiler_tool_agent_v0_t
  - rocprofiler_agent_v0_t + counters
- rocprofiler_tool_counter_info_t
- get_code_object_data()

* Update JSON schema for tool

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

- fix ROCP_WARNING_IF

* rocprofv3 -> rocprofv3.sh

- install rocprofv3.sh into sbin
- configure_file <source-tree>/rocprofv3.sh -> <binary-tree>/bin/rocprofv3

* Update tool counter collection

- rocprofiler_tool_record_counter_t
- rocprofiler_tool_counter_collection_record_t

* Update tests/rocprofv3/counter-collection/input1/CMakeLists.txt

- use rocprofiler_configure_pytest_files for validate.py, conftest.py, and input.txt

* Update tests/rocprofv3/counter-collection/input1/validate.py

- re-enable test_validate_counter_collection_pmc1_json

* Update tests/rocprofv3/counter-collection/input2/validate.py

- remove unused code

* Update tests/rocprofv3/counter-collection/input2/validate.py

- remove unused code

* Update tests/rocprofv3/hsa-queue-dependency/validate.py

- re-enable JSON tests

* Misc tests/rocprofv3 CMake updates

* Update tests/rocprofv3/tracing/validate.py

- re-enable JSON tests

* Update tests/rocprofv3/tracing-hip-in-libraries/validate.py

- re-enable JSON tests

* Update tests/rocprofv3/tracing/validate.py

- remove unused node_exists function

* Update tests/rocprofv3/tracing/validate.py

- fix test_marker_api_trace_json

---------

Co-authored-by: Sriraksha Nagaraj <Sriraksha.Nagaraj@amd.com>

[ROCm/rocprofiler-sdk commit: 92b7326910]
2024-05-22 00:53:42 -05:00
Gopesh Bhardwaj 01cdd61d70 SWDEV-458796,458610 doc updates (#854)
* SWDEV-458796,458610 doc updates

* updating --stats and scratch memory docuemntation

* Adding usage for --stats option

[ROCm/rocprofiler-sdk commit: 83e2d7d8af]
2024-05-21 23:59:19 -05:00
Benjamin Welton acf806ad97 [2/N] Agent Counter implementation with unit tests to check functionality (#846)
Agent Counter Collection API with tests and samples.
---------

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

[ROCm/rocprofiler-sdk commit: 28e6430d04]
2024-05-21 13:34:54 -07:00
Jonathan R. Madsen ba3d0e2c19 Fix ROCP_CI_LOG when ROCPROFILER_CI not defined (#864)
[ROCm/rocprofiler-sdk commit: 7eeb7376b4]
2024-05-20 16:04:28 -05:00
Jonathan R. Madsen e7cba805c5 Update logging (#838)
* Update logging

* Remove unused function

* Fix lib/rocprofiler-sdk/hsa/pc_sampling.cpp logging compilation

* Fix logging FLAGS_vmodule string leak and numerical log level

* Update logging

* Update glog submodule

* Leak fixes

* format

[ROCm/rocprofiler-sdk commit: 4d5b71b0e7]
2024-05-20 15:38:18 -05:00
Ammar ELWazir 0b6fe0dd59 Removing EXPECT_EQ() that checks for rocminfo (#858)
[ROCm/rocprofiler-sdk commit: 2c7e9e8e8b]
2024-05-17 04:19:13 -05:00
Ammar ELWazir a967d3ce2b Fixing rocminfo path for multiple installation ways (#857)
* Fixing rocminfo path for multiple installation ways

* Update source/lib/rocprofiler-sdk/tests/agent.cpp

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>

[ROCm/rocprofiler-sdk commit: ea4b793e73]
2024-05-15 15:35:53 -05:00
Ammar ELWazir d61dbd03b3 Fixing build issues with HSA (#856)
[ROCm/rocprofiler-sdk commit: 91e7dfb24e]
2024-05-15 14:12:44 -05:00
Jonathan R. Madsen a5b920d253 Fix code coverage GitHub workflow (#853)
- sync gcov version with gcc/g++ version

[ROCm/rocprofiler-sdk commit: dcba111ed5]
2024-05-15 01:37:06 -05:00
Gopesh Bhardwaj 6f526d3d85 Fixing multi pmc line tests (#848)
* Fixing multi pmc line tests

* Fixing cmake-format from commandline locally

[ROCm/rocprofiler-sdk commit: 5efede4de5]
2024-05-09 10:26:53 +05:30
Vladimir Indic c28c399b84 avoiding early destruction of code objects list (#847)
[ROCm/rocprofiler-sdk commit: 358c599c3f]
2024-05-08 11:00:08 +02:00
Jonathan R. Madsen 4cd076b9cc Test using HIP Graphs (#835)
* Test using hip graphs

* Remove assert for api_end < async_end

* Update rocprofv3/tracing-hip-in-libraries::test_api_trace

* Update rocprofv3/tracing-hip-in-libraries::test_api_trace

* Increase rocprofv3-test-trace-hip-in-libraries-validate timeout

* Update rocprofv3/tracing-hip-in-libraries::test_api_trace

* Remove submit retry

* Update rocprofv3/tracing-hip-in-libraries::test_api_trace

* Increase rocprofv3-test-trace-hip-in-libraries-validate timeout

* Update lib/common/container/record_header_buffer.hpp

- minor tweaks

* Update lib/rocprofiler-sdk/buffer.hpp

- tweak ROCPROFILER_BUFFER_POLICY_LOSSLESS flush behavior

* Increase rocprofv3-test-trace-hip-in-libraries-validate timeout

* Update rocprofv3/tracing-hip-in-libraries::test_api_trace

* Revert rocprofv3-test-trace-hip-in-libraries-validate timeout

* Update run-ci.py

- RETRY_COUNT set to zero

[ROCm/rocprofiler-sdk commit: 1f96593b4f]
2024-05-07 15:10:22 -05:00
Giovanni Lenzi Baraldi ea56f79495 Gbaraldi/att tool (#766)
* Enabling codeobj and thread trace samples

* Updating aqlprofile_v2 header

* Codeobj and thread trace samples with output log files

* Fixing clang format

* Cmake formatting

* Adding coverage to codeobj

* Comment trace sample

* Adding ATT Parser API

* Fixing forwarding to aqlprofile

* Clang formatting

* Clang tidy

* Adding option to print memory kernels

* Clang format

* Remove default from switch case

* Separating  client/main on codeobj sample for ASAn

* Formatting

* Gbaraldi/att tool rebase (#801)

* Enabling codeobj and thread trace samples

* Updating aqlprofile_v2 header

* Codeobj and thread trace samples with output log files

* Fixing clang format

* Cmake formatting

* Adding coverage to codeobj

* Comment trace sample

* Removing python from workflow

* Adding ATT Parser API

* Fixing forwarding to aqlprofile

* Clang formatting

* Clang tidy

* Adding option to print memory kernels

* Clang format

* Remove default from switch case

* Separating  client/main on codeobj sample for ASAn

* Formatting

* Enabling codeobj and thread trace samples

* Updating aqlprofile_v2 header

* Codeobj and thread trace samples with output log files

* Fixing clang format

* Cmake formatting

* Adding coverage to codeobj

* Comment trace sample

* Adding ATT Parser API

* Fixing forwarding to aqlprofile

* Clang formatting

* Clang tidy

* Adding option to print memory kernels

* Clang format

* Remove default from switch case

* Separating  client/main on codeobj sample for ASAn

* Formatting

* Fix codeobj library

* Allow thread trace in parallel with other service

* Zeroing the HSA signals

* Adding exception wrappers in ATT sample

* Removed force configure

* Remove force configure from ISA decode

* Removing codecov flag

* Gbaraldi/att tool tests (#828)

* Adding tests for codeobj ISA decode

* Adding ATT tests

* Adding ATT integration tests

* Formatting

* Changing codeobj binary extension

* Renaming codeobj library spaces

* Fixing samples

* Formatting

* Formatting

* Fixing int test

* Fixing linker error

* Fixing memory fault

* Moving kernel ot inside namespace

* ASAN linking fix

* Removing unecessary headers

* Formatting

* Fixing target_cu

* Remove codeobj binary

* Revert "Remove codeobj binary"

This reverts commit 7d286f89d8096bc36925cd79cd742a5e6d10d179.

* Enable memory snapshot

* adding comgr

---------

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

[ROCm/rocprofiler-sdk commit: 099ac7c72d]
2024-05-03 18:45:47 -03:00
Ammar ELWazir 4417b435cf Adding --stats examples (#842)
[ROCm/rocprofiler-sdk commit: 6d3fbcffad]
2024-05-03 10:25:04 -05:00
Jonathan R. Madsen 5ef0655896 C++ headers for std::hash, operator==, operator!= (#833)
* C++ headers for std::hash, operator==, operator!=

* std::hash specializations for some HSA types

[ROCm/rocprofiler-sdk commit: bf75579566]
2024-05-02 01:50:28 -05:00
Jonathan R. Madsen 0dc01661c1 Relax default CDash submission requirements in run-ci.py (#836)
* Update run-ci.py to not require successful CDash submission by default

* Minor tweak to run-ci.py

[ROCm/rocprofiler-sdk commit: d15cf17635]
2024-05-02 00:15:20 -05:00
Benjamin Welton 055d6b722a [1/N] Agent Counter Collection Implementation (#832)
Added public API call to setup agent counter collection on a context.

Refactored the return types internally for dispatch counter collection
to use rocprofiler_status_t (allow for more verbose failures to be
surfaced via the API)

Subsequent commits will fill out the sampling functionality for agent
counter collection.

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

[ROCm/rocprofiler-sdk commit: cb3fc070c7]
2024-05-01 13:34:54 -07:00
Benjamin Welton 461caaf766 Code migration and include fixes (#830)
* Migrating code/reformatting

* Remove unnecessary includes
---------

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

[ROCm/rocprofiler-sdk commit: e21609c80e]
2024-04-29 15:48:50 -07:00
Jonathan R. Madsen f167317524 Public C++ header files and samples updates (#819)
* Public C++ header files (source/include/rocprofiler-sdk/cxx)

* Update samples/api_buffered_tracing

- scratch memory and page migration
- README

* Update samples/api_buffered_tracing

- page migration component in sample

* Update tests/page-migration/validate.py

- fix checks for page migration operation names

* Update tests/page-migration/validate.py

- fix get_allocated_pages

* Update scratch memory and page migration validations

* Fix include/rocprofiler-sdk/cxx installation

* Rework include/rocprofiler-sdk/cxx

- Improve name_info to support const char*, string_view, string

* Update samples/api_{buffered,callback}_tracing

* External correlation ID request sample

- includes correlation ID retirement demo

* Update samples/api_buffered_tracing/README.md

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

- generate correlation ID for kernel launch if one doesn't exist

* Remove priority check from tool libraries (samples/tests)

- if(priority > 0) return nullptr check in rocprofiler_configure has proliferated beyond its intended use

* Apply suggestions from code review

[ROCm/rocprofiler-sdk commit: de13d2ac5d]
2024-04-25 20:09:11 -05:00
Jonathan R. Madsen 9b747eb63c Correct timestamp skew adjustments for kernel and async copy tracing (#827)
[ROCm/rocprofiler-sdk commit: e2bce49655]
2024-04-25 14:36:11 -05:00
Vladimir Indic d0016ef728 Restructure code object source code (#826)
* public codeobj info

* Restructure code object source code file layout

* Update get_unloaded_code_objects + add iterate_loaded_code_objects

* Remove get_unloaded_code_objects from visible internal API

- iterate_loaded_code_objects + functor which filters on the hsa_executable_t effectively reproduces this behavior

* Whitespace removal

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: 733aa8e438]
2024-04-25 14:03:04 -05:00
Jonathan R. Madsen abe00ad1d0 Update CMake config install location + env setup files (#821)
- install cmake config files to CMAKE_INSTALL_LIBDIR instead of CMAKE_INSTALL_DATAROOTDIR per ROCm standards
- Provide setup-env.sh and modulefiles for rocprofiler-sdk and rocprofiler-sdk-roctx

[ROCm/rocprofiler-sdk commit: 67dbe3f47f]
2024-04-24 14:43:47 -05:00
Jonathan R. Madsen 3b6249bdac Rework counter collection sample app (#822)
* Sync more often in counter collection samples

* Update samples/counter_collection/main.cpp

- support command line arguments
  - number of iterations
  - iterations per sync
  - number of devices to use

[ROCm/rocprofiler-sdk commit: 8c985543d9]
2024-04-24 14:00:59 -05:00
Jonathan R. Madsen 312461ebe5 Fix LICENSE install location + CPACK_RPM_PACKAGE_LICENSE (#820)
- LICENSE needs to be installed in share/doc/rocprofiler-sdk not share/doc/rocprofiler
- CPACK_RPM_PACKAGE_LICENSE should be set to license type not the license location

[ROCm/rocprofiler-sdk commit: 5d365bb8b8]
2024-04-24 01:19:32 -05:00
Ammar ELWazir e165856721 Update rocprofiler_config_packaging.cmake (#817)
[ROCm/rocprofiler-sdk commit: 777add01d1]
2024-04-23 18:43:41 -05:00
Ammar ELWazir da744e88e5 Update docs.yml (#815)
[ROCm/rocprofiler-sdk commit: c93a55b070]
2024-04-22 22:50:34 -05:00
Jonathan R. Madsen 399f2cc660 Remove -Wno-missing-field-initializers from build flags (#810)
* Remove -Wno-missing-field-initializers

- Compiler errors if missing field initializers

* Update lib/rocprofiler-sdk/counters/evaluate_ast.cpp

- copy over dispatch ID in perform_reduction/evaluate

[ROCm/rocprofiler-sdk commit: 48273d6a65]
2024-04-22 22:26:01 -05:00
Vladimir Indic 843398eb3c Introducing PcSamplingExtTable (#735)
* pcs: updating the PCS table

* Fixing Clang Tidy errors

* pcs: reverting old table version

* testint wrong table size

* new size

* testing step

* reverting old steps

* hsa_amd_queue_get_info introduced

* pcs: testing table version

* formatting

* removing redundand declarations

* removing unnecessary files

* Apply suggestions from code review

* Apply suggestions from code review

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

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

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

* Enable function pointer offset check in hsa::pc_sampling::copy_table

- add offset() to HSA_API_META_DEFINITION
- check if offset() >= size of struct

* Support build without PC sampling API table

* ids for ROCr's PC sampling public functions

---------

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

[ROCm/rocprofiler-sdk commit: deabd869b5]
2024-04-22 20:07:28 -05:00
Ammar ELWazir 7c42a4eaf1 GPUs not needed for doc action (#804)
[ROCm/rocprofiler-sdk commit: 7589084197]
2024-04-22 11:00:43 -05:00
Benjamin Welton 261e4da484 Add default values for kernel struct (#798)
* Add default values for kernel struct

* Update hsa-queue-dependency app

- default initializers
- check HSA_AMD_MEMORY_POOL_INFO_RUNTIME_ALLOC_ALLOWED for memory pools
- clang-tidy fixes (member -> static, etc.)

* Update run-ci.py

- add --progress --output-on-failure -V if no other options regarding verbosity are passed
- improve the ability to control the stages

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: 29bc84ec0c]
2024-04-18 21:07:20 -05:00
Benjamin Welton a81a453940 clang-18 warning fixes (part 1) (#785)
* clang-18 warning fixes (part 1)

* format fixes

* More format fixes

* More format fixes

[ROCm/rocprofiler-sdk commit: c668028781]
2024-04-18 18:28:32 -05:00
Ammar ELWazir 360595c82e Enabling Mi200 & Mi300 Testing (#797)
* Enabling Mi200 & Mi300 Testing

* Update continuous_integration.yml

[ROCm/rocprofiler-sdk commit: 21170b870d]
2024-04-18 15:47:52 -05:00
Ammar ELWazir 45586a71b0 Stabilizing the machines used for testing (#771)
* Stabilizing the machines used for testing

* Update .github/workflows/continuous_integration.yml

* Update continuous_integration.yml

* Delete .github/workflows/ci_pc_sampling.yml

* Update continuous_integration.yml

- add mi300
- use if conditions for whether to run "extended" core tests

* Consistency in matrix for each job

* Update continuous_integration.yml

- include runner in core CDash name

* Update continuous_integration.yml

- remove mi300

* Update continuous_integration.yml

- add mi300

* Update CI workflow

- tweak "Install requirements" step

* Update CI workflow

- timeout on install requirements

* Update CI workflow

- revert sanitizers to gcc-12

* Update CI workflow

- remove core installation of clang-tidy (handled by python pip)

* Update CI workflow

- disable fast-fail

* Update CI workflow

- add runner to all build names
- remove mi200 and mi300

* Update CI workflow

- code coverage runs on navi3

* Update CI workflow

- add runner to all build names

* Tweak to CI sanitizer jobs

* Update CI workflow

- Handle excluded tests

* Update CI workflow

- Handle excluded tests (part 2)

* Update CI workflow

- Handle excluded tests (fix quotations)

---------

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

[ROCm/rocprofiler-sdk commit: ae2abb584b]
2024-04-18 13:48:57 -05:00
Jonathan R. Madsen acfc8a9999 Improve testing stability (#796)
- Update tests/bin/reproducible-runtime
  - tweak algorithm for sleeping
- Update lib/rocprofiler-sdk/hsa/async_copy
  - handle egregious skews for async copy times
- Update kernel tracing
  - handle egregious skews for kernel dispatch times
- Update lib/rocprofiler-sdk/hsa/code_object
  - use static object wrappers for code object info
- Update lib/rocprofiler-sdk-tool/config.cpp
  - fix data race in output_keys / get_local_datetime

[ROCm/rocprofiler-sdk commit: b953774580]
2024-04-18 11:42:51 -05:00
Giovanni Lenzi Baraldi 37fa6d25d3 Removed duplicated code (#784)
* Removed duplicated code

* Clang format

* Removing union from pc_sampling API

* Clang format

[ROCm/rocprofiler-sdk commit: b6c0b50d3e]
2024-04-18 07:42:26 -03:00
Jonathan R. Madsen 79176cacd9 Update samples/intercept_table (#792)
- install function wrappers around HIP runtime API
  - easily correlated to the executable
  - safer than HSA runtime due to potential for HSA to get invoked after main returns

[ROCm/rocprofiler-sdk commit: b570ff5273]
2024-04-18 05:30:34 -05:00
Jonathan R. Madsen 1514f05887 Async memory copy callback tracing + memory copy size (#791)
* Async memory copy tracing update

- rocprofiler_buffer_tracing_memory_copy_record_t: thread_id and bytes
- support ROCPROFILER_CALLBACK_TRACING_MEMORY_COPY
- init_public_api_struct can fully construct

* Testing for callback async copy tracing

[ROCm/rocprofiler-sdk commit: 12c836f95f]
2024-04-18 04:31:59 -05:00
Benjamin Welton 9368927196 Modified hipMalloc size for main.cpp in sample (#786)
* Modified hipMalloc size for main.cpp in sample

* Update samples/counter_collection/main.cpp

---------

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

[ROCm/rocprofiler-sdk commit: edb1883a05]
2024-04-18 04:28:56 -05:00
Jonathan R. Madsen 627a9f54f1 Simplify json-tool JSON schema for callback records (#790)
- formerly, the rocprofiler_callback_tracing_record_t data was stored in itr["record"], e.g. itr["record"]["correlation_id"]
  - dropped "record" key, e.g. itr["correlation_id"]

[ROCm/rocprofiler-sdk commit: 32bc339789]
2024-04-18 03:58:10 -05:00
Jonathan R. Madsen 7e166e2b5a PyTest utilities (#789)
- tests/pytest-packages/pytest_utils containing utilities for pytest validation tests
- example:

```python
from rocprofiler_sdk.pytest_utils.dotdict import dotdict
```

[ROCm/rocprofiler-sdk commit: 39dd5a81df]
2024-04-18 03:09:01 -05:00
Jonathan R. Madsen b8ecfee16d Fix kernel dispatch tracing operation names (#787)
- "ENQUEUE" -> "KERNEL_DISPATCH_ENQUEUE"
- "COMPLETE" -> "KERNEL_DISPATCH_COMPLETE"

[ROCm/rocprofiler-sdk commit: 93136ec042]
2024-04-18 01:06:39 -05:00
Jonathan R. Madsen 39550c1167 Update lib/rocprofiler-sdk/hsa/queue.cpp (#788)
- fix heap-use-after-free

[ROCm/rocprofiler-sdk commit: b7b2c294e0]
2024-04-18 00:05:55 -05:00
Benjamin Welton 3f9dc16864 Remove duplicate entries from derived counters (#782)
[ROCm/rocprofiler-sdk commit: 81afb310ff]
2024-04-17 13:47:02 -07:00
Jonathan R. Madsen 6d14616fbd Enable HSA packet write interception for callback kernel tracing (#780)
[ROCm/rocprofiler-sdk commit: 8cc28ae51d]
2024-04-17 14:55:04 -05:00
Benjamin Welton b7ed11552b Small error printout on test (#781)
[ROCm/rocprofiler-sdk commit: d173dd5c04]
2024-04-17 08:54:56 -07:00
Ammar ELWazir 0828f8723f Update ci_pc_sampling.yml (#744)
[ROCm/rocprofiler-sdk commit: 7ace7c5303]
2024-04-16 23:24:33 -05:00
Vladimir Indic 98b62efd12 pcs: API updated (#770)
[ROCm/rocprofiler-sdk commit: 200da0f274]
2024-04-16 22:51:16 -05:00