Jonathan R. Madsen
b4dc4f8e92
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
2024-05-22 20:36:27 -05:00
Jonathan R. Madsen
957bb7a4e5
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
2024-05-22 15:51:12 -05:00
Jonathan R. Madsen
92b7326910
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 >
2024-05-22 00:53:42 -05:00
Gopesh Bhardwaj
83e2d7d8af
SWDEV-458796,458610 doc updates ( #854 )
...
* SWDEV-458796,458610 doc updates
* updating --stats and scratch memory docuemntation
* Adding usage for --stats option
2024-05-21 23:59:19 -05:00
Benjamin Welton
28e6430d04
[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 >
2024-05-21 13:34:54 -07:00
Jonathan R. Madsen
7eeb7376b4
Fix ROCP_CI_LOG when ROCPROFILER_CI not defined ( #864 )
2024-05-20 16:04:28 -05:00
Jonathan R. Madsen
4d5b71b0e7
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
2024-05-20 15:38:18 -05:00
Ammar ELWazir
2c7e9e8e8b
Removing EXPECT_EQ() that checks for rocminfo ( #858 )
2024-05-17 04:19:13 -05:00
Ammar ELWazir
ea4b793e73
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>
2024-05-15 15:35:53 -05:00
Ammar ELWazir
91e7dfb24e
Fixing build issues with HSA ( #856 )
2024-05-15 14:12:44 -05:00
Vladimir Indic
358c599c3f
avoiding early destruction of code objects list ( #847 )
2024-05-08 11:00:08 +02:00
Jonathan R. Madsen
1f96593b4f
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
2024-05-07 15:10:22 -05:00
Giovanni Lenzi Baraldi
099ac7c72d
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 >
2024-05-03 18:45:47 -03:00
Ammar ELWazir
6d3fbcffad
Adding --stats examples ( #842 )
2024-05-03 10:25:04 -05:00
Jonathan R. Madsen
bf75579566
C++ headers for std::hash, operator==, operator!= ( #833 )
...
* C++ headers for std::hash, operator==, operator!=
* std::hash specializations for some HSA types
2024-05-02 01:50:28 -05:00
Jonathan R. Madsen
d15cf17635
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
2024-05-02 00:15:20 -05:00
Benjamin Welton
cb3fc070c7
[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 >
2024-05-01 13:34:54 -07:00
Benjamin Welton
e21609c80e
Code migration and include fixes ( #830 )
...
* Migrating code/reformatting
* Remove unnecessary includes
---------
Co-authored-by: Benjamin Welton <ben@amd.com >
2024-04-29 15:48:50 -07:00
Jonathan R. Madsen
de13d2ac5d
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
2024-04-25 20:09:11 -05:00
Jonathan R. Madsen
e2bce49655
Correct timestamp skew adjustments for kernel and async copy tracing ( #827 )
2024-04-25 14:36:11 -05:00
Vladimir Indic
733aa8e438
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 >
2024-04-25 14:03:04 -05:00
Jonathan R. Madsen
48273d6a65
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
2024-04-22 22:26:01 -05:00
Vladimir Indic
deabd869b5
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 >
2024-04-22 20:07:28 -05:00
Benjamin Welton
29bc84ec0c
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 >
2024-04-18 21:07:20 -05:00
Benjamin Welton
c668028781
clang-18 warning fixes (part 1) ( #785 )
...
* clang-18 warning fixes (part 1)
* format fixes
* More format fixes
* More format fixes
2024-04-18 18:28:32 -05:00
Jonathan R. Madsen
b953774580
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
2024-04-18 11:42:51 -05:00
Giovanni Lenzi Baraldi
b6c0b50d3e
Removed duplicated code ( #784 )
...
* Removed duplicated code
* Clang format
* Removing union from pc_sampling API
* Clang format
2024-04-18 07:42:26 -03:00
Jonathan R. Madsen
12c836f95f
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
2024-04-18 04:31:59 -05:00
Jonathan R. Madsen
93136ec042
Fix kernel dispatch tracing operation names ( #787 )
...
- "ENQUEUE" -> "KERNEL_DISPATCH_ENQUEUE"
- "COMPLETE" -> "KERNEL_DISPATCH_COMPLETE"
2024-04-18 01:06:39 -05:00
Jonathan R. Madsen
b7b2c294e0
Update lib/rocprofiler-sdk/hsa/queue.cpp ( #788 )
...
- fix heap-use-after-free
2024-04-18 00:05:55 -05:00
Benjamin Welton
81afb310ff
Remove duplicate entries from derived counters ( #782 )
2024-04-17 13:47:02 -07:00
Jonathan R. Madsen
8cc28ae51d
Enable HSA packet write interception for callback kernel tracing ( #780 )
2024-04-17 14:55:04 -05:00
Benjamin Welton
d173dd5c04
Small error printout on test ( #781 )
2024-04-17 08:54:56 -07:00
Vladimir Indic
200da0f274
pcs: API updated ( #770 )
2024-04-16 22:51:16 -05:00
Giovanni Lenzi Baraldi
fed296daed
Removed unused field ( #774 )
...
* Removed unused field
* Formatting
2024-04-16 23:34:47 -03:00
Ammar ELWazir
87d549c8a9
Adding Keyword search pattern ( #768 )
...
* 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
* Adding the scan as a script
* clean up
* Update continuous_integration.yml
2024-04-16 21:08:32 -05:00
Benjamin Welton
7bb9ea39d6
fix cmake formatting issue
2024-04-16 23:51:11 +00:00
Benjamin Welton
95c25acfee
Remove unnecessary unknown gfx
2024-04-16 23:43:59 +00:00
Jonathan R. Madsen
2d5523b420
Fix drm include for OpenSUSE ( #767 )
...
* Fix drm include for OpenSUSE
- uses libdrm/drm.h instead of drm/drm.h
* Fix "List Files" step in CI workflows
* Fix "List Files" step in CI workflows
2024-04-16 23:16:26 +00:00
Ammar ELWazir
3ec628e004
Fixing Markdown and Docs ( #759 )
...
* Update README.md
* Update index.md
* Update installation.md
* Update rocprofv3.md
* Update tool_library_overview.md
* Update CMakeLists.txt
* Update upload-image-to-github.py
* Update upload-image-to-github.py
---------
Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com >
2024-04-14 14:35:00 -05:00
Benjamin Welton
c2f659ab5c
Removal of HSA from counter collection ( #697 )
...
* Minor fix
Removal of HSA from counter collection
Tests for AQL
Updated counter collection client to build profiles in tool init
* Rebased
* Debug printing
* Formatting
* More format
* fix shadowing
---------
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com >
2024-04-12 18:46:10 -07:00
Jonathan R. Madsen
07537b6231
rocprofiler_kernel_dispatch_info_t + header record for buffered counter collection (#758 )
...
* Update include/rocprofiler-sdk
- defines.h
- ROCPROFILER_VERSION_10_0 -> ROCPROFILER_SDK_VERSION_0_0
- fwd.h
- rocprofiler_counter_record_kind_t
- rocprofiler_kernel_dispatch_info_t
- rocprofiler_record_counter_t
- has dispatch id instead of correlation id
- rocprofiler_counter_info_v0_t
- added rocprofiler_counter_id_t field
- added is_constant field
- reordered better packing
- dispatch_profile.h
- added rocprofiler_profile_counting_dispatch_record_t for use as a header record for rocprofiler_profile_counting_dispatch_data_t
- callback_tracing.h
- rocprofiler_callback_tracing_kernel_dispatch_data_t uses rocprofiler_kernel_dispatch_info_t
- buffer_tracing.h
- rocprofiler_buffer_tracing_kernel_dispatch_record_t uses rocprofiler_kernel_dispatch_info_t
* Update lib/rocprofiler-sdk/*
- transition to rocprofiler_kernel_dispatch_info_t
- set id and is_constant values for rocprofiler_counter_info_v0_t in rocprofiler_query_counter_info
* Update lib/rocprofiler-sdk-tool
- transition to rocprofiler_kernel_dispatch_info_t
* Update lib/rocprofiler-sdk/counters/tests/core.cpp
- transition to rocprofiler_kernel_dispatch_info_t
* Update samples
- transition to rocprofiler_kernel_dispatch_info_t
- transition to rocprofiler_counter_record_kind_t
* Update tests
- transition to rocprofiler_kernel_dispatch_info_t
- transition to rocprofiler_counter_record_kind_t
- improve integration test validation for counter-collection
- update serialization for new/additional types
* Fix tests/counter-collection/validate.py
- loosen restrictions on the length of counter description
* Update include/rocprofiler-sdk/buffer_tracing.h
- remove accidental packed attribute
* Update lib/rocprofiler-sdk/counters/xml/derived_counters.xml
- Add description for TCC_TAG_STALL_sum (reference: https://rocm.docs.amd.com/en/develop/conceptual/gpu-arch/mi300-mi200-performance-counters.html )
* Update tests/page-migration/validate.py
2024-04-12 17:30:34 -05:00
Mythreya
fd3d97287c
Page migration reporting ( #651 )
...
* Page migration reporting support
* Page migration: Update parser and reporting
Container does not lave latest KFD header, so CI might fail
* Add kfd_ioctl.h
* Formatting
* Update get_key
- get key was not used (and shouldn't be), so delete it
* clang-tidy fixes
* Tests for page migration
* Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update tests/bin/page-migration/CMakeLists.txt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update page-migration test app
- add hipHostRegister to register mmap'ed allocation with HIP
- misc cleanup and reorg
- remove HSA_XNACK=1 from test env
* Update lib/rocprofiler-sdk/tests/page_migration.cpp
- fix compilation error
* Minor updates (reorg, rename)
* Page migration reporting support
* Page migration: Update parser and reporting
Container does not lave latest KFD header, so CI might fail
* Update page migration tests, fix trigger types
* Page Migration Tracing Support Refactoring (#753 )
* Reorganization
* Update page migration init/fini
* Formatting
* Update page_migration.cpp
- change logging severity
* Skip test if KFD does not support page migration reporting
* Rework skipping test if KFD does not support page migration
* Fix event trigger enum values
* Fix clang-diagnostic-unused-const-variable
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com >
2024-04-12 15:51:44 -05:00
Jonathan R. Madsen
d6bb50cae1
Minor fixes + correlation id files + compute_runtime_sizeof ( #757 )
...
* Update lib/rocprofiler-sdk/context/*
- create correlation_id.{hpp,cpp} and moved implementation into these files instead of in context.{hpp,cpp}
* Update lib/rocprofiler-sdk/thread_trace/att_core.hpp
- fixed header includes
* Update lib/common/utility.hpp (runtime sizeof)
- added compute_runtime_sizeof<T>() function to set the "size" field to be the offset of the "reserved_padding" field if one exists
* Fix to compute_runtime_sizeof
2024-04-12 12:34:00 -05:00
Jonathan R. Madsen
3eaa678054
CTest Environment Update ( #756 )
...
* Update test/tools/json-tool.cpp
- push/pop ppid as external correlation id instead of pid
* Update environment variables for tests and samples
* Revert to old CDash dashboard in run-ci.py
* Revert to new CDash dashboard in run-ci.py
2024-04-12 08:40:00 -05:00
lancesix
066e659d6e
rocprofiler-sdk-codeobj: use pkg-config to find libdw / libelf ( #749 )
...
* rocprofiler-sdk-codeobj: use pkg-config to find libdw / libelf
The current version of source/lib/rocprofiler-sdk-codeobj/CMakeLists.txt
adds -ldw and -lelf to target_link_libraries. However, on a system where
libdw-dev / libelf-dev is missing, the cmake configuration phase will
run properly and a compile time error will eventually be raised.
This patch changes the CMakelists.txt to search for libelf libdw and
configures the target as needed. Systems missing the required support
should report an error when running cmake instead of in the middle of
the compilation.
* Use INTERFACE targets
* Resolve issues with Findlib{dw,elf}
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
2024-04-12 03:48:35 -05:00
Jonathan R. Madsen
87490d0018
Update lib/rocprofiler-sdk-tool ( #755 )
...
- questionable data race within std::regex in CI
- simplify rocprofiler::tool::format
- set config::tmp_directory to default to output_path
- fs::create_directories for tmp_file
- rework get_file_name(...) and compose_tmp_file_name(...) in tool.cpp
2024-04-12 03:48:02 -05:00
Jonathan R. Madsen
56030018dc
Callback tracing for kernel dispatches + External correlation ID request service ( #682 )
...
* Support ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH
* Fix doxygen
* Update callback tracing
- temporary hacks for kind operation name and iterate kind operations
* Update source/include/rocprofiler-sdk
- introduce sequence id for kernel dispatches
* Update lib/rocprofiler-sdk (seq id)
- support sequence id passing
* Update tests (seq id)
- testing for sequence ids
* Cleanup include/rocprofiler-sdk/fwd.h
* Misc cleanup
* External Correlation ID Request Service (#699 )
* External correlation ID request service
- callback requesting an external correlation ID instead of fetching from top of pushed external correlation ID stack
* Update external correlation id request support
- pass internal correlation ID in callback
- async copy generates a correlation ID if none already exists
- added external correlation ID request support for scratch memory tracing
- updated scratch memory tracing to use tracing:: functions
* Update hsa/queue.hpp
- new line at EOF
* Misc tweaks
- remove unnecessary logging in agent.cpp
- correlation_id::add_ref_count check for retirement
- finalization check in HSA queue AsyncSignalHandler
* Improve assertion failure logging in misc tests
* Update include/rocprofiler-sdk/fwd.h
- remove rocprofiler_record_counter_header_t
* Move lib/rocprofiler-sdk/tracing.hpp into lib/rocprofiler-sdk/tracing/ folder
* Update lib/rocprofiler-sdk/hsa/*
- hsa::get_hsa_status_string
- queue_info_session.hpp header
- rocprofiler_packet.hpp
* Update lib/rocprofiler-sdk/{counters,hip,marker}
- execute_phase_exit_callbacks tweaks
- queue_info_session tweaks
* Move rocprofiler_kernel_dispatch_operation_t to include/rocprofiler-sdk/fwd.h
* Update rocprofiler_buffer_tracing_kernel_dispatch_record_t
- add operation field and thread_id field
* Add lib/rocprofiler-sdk/kernel_dispatch
- enum <-> string mapping for kernel dispatch
- tracing implementations
* Update lib/rocprofiler-sdk/CMakeLists.txt
- tracing and kernel dispatch sub-directories
* Update lib/rocprofiler-sdk/{buffer,callback}_tracing.cpp
- invoke rocprofiler::kernel_tracing functions
* Update tests/common/serialization.hpp
- support operation and thread_id fields for rocprofiler_buffer_tracing_kernel_dispatch_record_t
* Update tests/tools/json-tool.cpp
- use external correlation id request service
* Rename sequence_id to dispatch_id
2024-04-11 19:49:49 -05:00
Jonathan R. Madsen
0f5c575435
Fix code_object_operation_t and memory_copy_operation_t enums ( #751 )
...
- enums for operations should not contain callback/buffer tracing categorization
- e.g. ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LOAD should be ROCPROIFLER_CODE_OBJECT_LOAD
2024-04-11 18:52:13 -05:00
Jonathan R. Madsen
3c005b81b1
Add support for hsa_amd_queue_get_info ( #752 )
...
* Add support for hsa_amd_queue_get_info
- HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x02
* Suppress unused-but-set-parameter warnings
2024-04-11 18:29:22 -05:00