Giovanni Lenzi Baraldi
a78753d392
Accumulation metrics support and update counter collection API to aqlprofile_v2 ( #915 )
...
* Updating to v3 API
* General fixes
* Extending dimension bits to 54
* Disabling agent profiling tests
* Fixed unit test
* Adding accumulate metric support for parsing counters (#609 )
* Adding accumulate metric support for parsing counters
* Adding metric flag
* Updating tests
* source formatting (clang-format v11) (#610 )
Co-authored-by: Manjunath-Jakaraddi <21177428+Manjunath-Jakaraddi@users.noreply.github.com >
* source formatting (clang-format v11) (#614 )
Co-authored-by: jrmadsen <6001865+jrmadsen@users.noreply.github.com >
* Adding evaluate ast test
* source formatting (clang-format v11) (#633 )
Co-authored-by: Manjunath-Jakaraddi <21177428+Manjunath-Jakaraddi@users.noreply.github.com >
* Update scanner generated file
* Adding flags to events for aqlprofile
* Fix Mi200 failing test
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Manjunath-Jakaraddi <21177428+Manjunath-Jakaraddi@users.noreply.github.com >
Co-authored-by: jrmadsen <6001865+jrmadsen@users.noreply.github.com >
* Revert "Extending dimension bits to 54"
This reverts commit 3cd6628452484044a93e129f27974f996a0e4c08.
* Removing CU dimension
* Fixing merge conflicts
* Revert "Disabling agent profiling tests"
This reverts commit 7e01518ed8c51fbb0c3b2575e1e0b8f9ddfa8237.
* Fixing merge conflicts
* Fix parser tests
* Adding accumulate metric documentation
* Update counter_collection_services.md
* Update index.md
* fix nested expression use
* Update source/lib/rocprofiler-sdk/counters/evaluate_ast.cpp
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Doc update
---------
Co-authored-by: Benjamin Welton <ben@amd.com >
Co-authored-by: Manjunath P Jakaraddi <manjunath180397@gmail.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Manjunath-Jakaraddi <21177428+Manjunath-Jakaraddi@users.noreply.github.com >
Co-authored-by: jrmadsen <6001865+jrmadsen@users.noreply.github.com >
Co-authored-by: Manjunath-Jakaraddi <manjunath.jakaraddi@amd.com >
2024-07-01 21:56:41 -03:00
Giovanni Lenzi Baraldi
8da0c35079
Adding wrappers on HSA for executable load/unload and allowing multiple agents per context on ATT ( #951 )
...
* Codeobj wrappers around HSA calls for ATT
* Formatting
* Bookeeping
* Tidy
* Tidy
* Update source/lib/rocprofiler-sdk/thread_trace/code_object.hpp
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
* Update source/lib/rocprofiler-sdk/thread_trace/att_core.hpp
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
* Variable naming
---------
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
2024-06-25 13:46:13 -03:00
Giovanni Lenzi Baraldi
9676295d3d
ATT API changes - add user_data field and separation of dispatch vs agent profiling ( #893 )
...
* DRM Issue Fix for SLES 15 (#897 )
* DRM Issue Fix
* Formatting Fix
* PC sampling: CID manager unit test (#898 )
* Adding per-dispatch userdata field to ATT
* Clang tidy
* Formatting
* Update source/lib/rocprofiler-sdk/hsa/aql_packet.hpp
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
* Adding dispatch_id, fixing user_data and update aql_profile_v2
* Formatting
* Tidy fixes
* Second fix for userdata
* removing assert for union
* Adding serialization. Created agent profiling-like thread trace
* Implemented agent thread trace
* Update source/lib/rocprofiler-sdk/hsa/aql_packet.hpp
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
* Restructured thread trace packets
* Added agent API tests
* Fixing multigpu for agent test
* Formatting
* Formatting
* Improving header locations
* Fixing merge conflicts
* Tidy
* Tidy
* Tidy
---------
Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com >
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
2024-06-13 15:29:29 -03:00
Benjamin Welton
99340964a6
Fix for SLES/RHEL compilers ( #925 )
...
* Fix for SLES/RHEL compilers
---------
Co-authored-by: Benjamin Welton <ben@amd.com >
2024-06-12 20:38:35 -07:00
Manjunath P Jakaraddi
c49719649b
SWDEV-465322: Adding support for Perfcounter SIMD Mask in ATT ( #910 )
...
* SWDEV-465322: Adding support for r Perfcounter SIMD Mask in ATT
* Apply suggestions from code review
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com >
* Adding unit tests
* Adding counters check for gfx9 and SQ block only
* Addressing review comments
* changing the struct size
* fixing header includes
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com >
2024-06-12 16:25:06 -07:00
Benjamin Welton
cfe3af9d7e
Remove duplicate table code from tests ( #922 )
...
* Remove duplicate table code from tests
Remove duplicate HSA table code from tests. Cleanup
includes (and remove unnecessary ones).
2024-06-12 13:21:42 -07:00
Jonathan R. Madsen
a76f61a0a3
Migrate to rocprofiler-sdk:: namespace in CMake everywhere ( #892 )
...
- remove all usage/support for rocprofiler:: namespace
2024-05-29 22:28:43 -05:00
Giovanni Lenzi Baraldi
1b95089c28
Enable ATT continuous mode and code object tracing registration ( #850 )
...
* Adding ATT continuous mode and ATT code object tracking
* Fixing aql_packet.cpp
* Updating to aqlprofile codeobj changes
* Removing kernel packet from ATT dispatch callback
* Changing getSymbolMap() to return relative vaddr
* Tidy fixes
* Formatting
* Fix shadowing
* Fixing packet test
* Updating tests
* Simplifying multi-agent traces
* Adding dynamic codeobj tracking
* leftover book-keeping for codeobj markers
* Formatting
* Formatting
* Temporary removing codeobj marker
* Formatting
* Re-enabling codeobj tracking
* Making copy of coreapi table
* Fixing issues with toolData lifetile
* Formatting
* Fixing issues with ASAN
* Improving memory profile
* Removing misplaced annotation
* Fixing queue type and allowing shared_locks in globalThreadTracer
* Update logging
* Changing ATT formats to be more in line with the SDk (#883 )
* Fixing some merge conflicts
* Fixing cmakelists
* Fixing merge conflicts
* Formatting
2024-05-29 11:09:28 -05:00
Giovanni Lenzi Baraldi
385980e279
Moving ATT to amd_detail ( #885 )
...
* Moving ATT to amd_detail
* Formatting
2024-05-29 11:28:01 -03: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
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
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
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
Giovanni Lenzi Baraldi
69b8a43dc6
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 >
2024-04-08 12:43:02 -07:00