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