develop
36 Cometimentos
| Autor(a) | SHA1 | Mensagem | Data | |
|---|---|---|---|---|
|
|
6b0f87c3a6 | [rocprofiler-sdk][rocpd] Optional message field in region/sample extdata (#1170) | ||
|
|
9278770b89 |
[rocprofiler-sdk] ROCpd GOTCHA Fix (#720)
* Update GOTCHA submodule - public API for gotcha_init - switch repo to ROCm/gotcha * rocpd interop GOTCHA updates - fix issues wrapping dlopen/dlsym |
||
|
|
4daf25944d |
add gotcha to rocpd cpack component. (#904)
Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com> |
||
|
|
4d79e1df30 |
[SDK] Support CMake option for using internal RCCL tracing + (temporary) enable in CI (#457)
* Temp: disable RCCL tracing
* Update continuous_integration.yml
* Update continuous_integration.yml
* Update continuous_integration.yml
* Adding option to disable rccl tracing from CMake
* Update codeql.yml
* Misc updates
- ROCPROFILER_BUILD_RCCL -> ROCPROFILER_INTERNAL_RCCL_API_TRACE
- env.EXTRA_TEMP_CMAKE_OPTIONS -> env.GLOBAL_CMAKE_OPTIONS
- add (advanced) option ROCPROFILER_INTERNAL_RCCL_API_TRACE
* Fix rocprofiler::sdk::get_enum_label
- missing enum labels for HIP_RUNTIME_API_TABLE_STEP_VERSION > 8
* Update tests/rocprofv3/advanced-thread-trace/CMakeLists.txt
- improve various aspect of cmake -- particularly echoing where attdecoder_LIBRARY was found
* Use CMAKE_MESSAGE_INDENT
- add prefix to cmake messages to help indicate where messages are coming from
- make find_package(Python3 ...) QUIET for bindings
* Fix rocprofiler::sdk::get_enum_label
- handle HSA_AMD_EXT_API_TABLE_MAJOR_VERSION
* Fix rocprofv3 message for att library path
* Fix tests/rocprofv3/advanced-thread-trace/att_input.yml config
* Fix rocprofv3 check_att_capability + soversion/version library resolution
- Account for ROCPROF_ATT_LIBRARY_PATH in env in check_att_capability
- Add resolve_library_path
- supports resolution of library names to SOVERSION and VERSION paths
* Fix python linting error (unused import)
---------
Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
bb942ef500 |
[rocprofv3] rocpd Python package (#384)
* Squashed commit of the following:
commit f764eb6f4a45baa25eb8f1b50b1035c84578c200
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu May 1 09:09:37 2025 -0500
Misc post rebase fixes
commit 447418b0765819eb2fb5c8b5c3ca9128a091d37e
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu May 1 07:22:07 2025 -0500
Formatting
commit 975661f5e498cde99f8c3ce5486c47db03856d1b
Author: Young Hui <young.hui@amd.com>
Date: Wed Apr 30 21:19:30 2025 -0400
Reorganize rocpd command line and grouped Required Arguments together
- had to add --input to each output.py file again since it was moved out of output_config.py
- ran formatter
commit 9322328611a332c3979f040b652a9e9a9482200e
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 30 17:00:58 2025 +0000
corrected indices on some operation, and kind for kernel dispatch
commit 6c146cd0c508dca6f2453e3844e09e1ed3f9978a
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 30 16:01:26 2025 +0000
some corrections on pf trace output: added categories
commit 4e02d3f8617324c95e4a449243ab9ab3f4695471
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 30 14:35:19 2025 +0000
fixed perfetto cpp with adding stack id and parent stack id to views:tests
commit d7efd9334361cd7d6a842d083a3f8ca51efe72d3
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 30 14:16:32 2025 +0000
fixed perfetto cpp with adding stack id and parent stack id to views
commit cdd0e2ec0788d44fdf2d5833822e055c43cddec6
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 30 09:47:07 2025 -0500
restore output_config, add output_file arg for generate csv
commit 5f9b7d93dcbefd55e0ba6e2674602e809aa61632
Author: JIn Tao <jintao12@amd.com>
Date: Wed Apr 30 09:30:32 2025 +0000
add ROCDecode and ROCJpeg API calls
commit 7724de1263c5f960cc64c5b0e7afb3834d797f87
Author: JIn Tao <jintao12@amd.com>
Date: Wed Apr 30 09:05:14 2025 +0000
Json output: add counters_collection
commit a13930d6d2b87605ca1ece58291172f79d81d91f
Author: JIn Tao <jintao12@amd.com>
Date: Wed Apr 30 09:01:17 2025 +0000
Json output: add scratch_memory
commit 54e62e25c6d89e718324ce3bc51eb80c25756c48
Author: JIn Tao <jintao12@amd.com>
Date: Wed Apr 30 08:00:08 2025 +0000
Json output: add marker_api
commit ab920196c7ddb68a9a1fdc121f43528e513d5a67
Author: root <root@smc300x-ccs-aus-GPUF2C5.cs-aus.dcgpu>
Date: Tue Apr 29 10:48:53 2025 -0500
csv refactor, fix output-format argument for script
commit e033d18356f397e3a684e255dcffd0c0d64ec19e
Author: JIn Tao <jintao12@amd.com>
Date: Tue Apr 29 11:30:16 2025 +0000
minor revison
commit 748f6754ac0238eca63bb12b26f62b514de65a0d
Author: Jin Tao <jintao12@amd.com>
Date: Tue Apr 29 10:09:54 2025 +0000
Json output: complete structures
commit 52c8d77e0eeb8dca7476814ff03b5cdf88055fd6
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Mon Apr 28 15:44:47 2025 +0000
forced tests upd
commit 7fabc80d3b8db7d137b05a958c633ad5bf8dbae9
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Mon Apr 28 15:43:34 2025 +0000
fixed the relative-type index issue (missing load) for agent info and related parameter adjustmets stuff for python
commit f8f5bffc010ad6d43a9f8fee90a79e4342fb9562
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Mon Apr 28 12:28:35 2025 +0000
added 3 convenience views, some refactoring and fixing kernel-rename option
commit 831cd336115153d1e73f01c9120a67c904478f89
Author: Jin Tao <jintao12@amd.com>
Date: Mon Apr 28 14:45:31 2025 +0000
Json output: add kernel_dispatch, hip_api, hsa_api
commit 4c414a1abce51fbdd6d5856b2e36e6272279c671
Author: Jin Tao <jintao12@amd.com>
Date: Fri Apr 25 13:30:01 2025 +0000
optimize the json output code, certain problems need to be done, e.g., empty counters and strings
commit ceecd7cc5b81f014766199c0a57645386ade23dd
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri Apr 25 10:51:16 2025 +0000
removed unused variable session from write_otf
commit 29fdb2db4fe0cc930cd6b3172092604ee5409242
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri Apr 25 10:14:48 2025 +0000
added tests for generated csv and otf2
commit 5091d2d51e7e4d68fcdc95a97a82a0df41f28350
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri Apr 25 10:12:30 2025 +0000
run formating from command line
commit abbb7637b1704ea904540c5ff717102bf450c76d
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri Apr 25 10:09:25 2025 +0000
added check up if cvs os not broken after other chnages
commit 9ff614d6d8e87fc3647d8f3b0120425c24213f3b
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 24 15:09:40 2025 +0000
updated new csv.cpp and otf2.cpp to fit the string_view fix
commit e94ea0f3668c9b972f2dd4144cb4152c1b202f93
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 24 14:51:55 2025 +0000
fixed string view reporting which works at least forgenerateOTF2.cpp
commit 5c5ea532279fba0b7ef5abcd1916d20d0b7fb7b8
Author: Jin Tao <jintao12@amd.com>
Date: Thu Apr 24 14:32:10 2025 +0000
Json output: add strings.marker_api
commit d28d1c18c9693421f7676d6de82c2c20af11eaa0
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 24 13:10:13 2025 +0000
small upd on cmake for tests
commit 325cb3719517ad514291ab620dd85fb04daeb906
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 24 13:08:58 2025 +0000
fixed abs_index for connecting data and handles for otf2 location reporting
commit e9a648ade545795646f6aca61fdbece5a39fea5c
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Tue Apr 22 14:00:12 2025 +0000
commit after fixing warnings, executabel name, validate works
commit 1cd2d63501b8f951996c9dfcd1d0af6d6f16c006
Author: Jin Tao <jintao12@amd.com>
Date: Thu Apr 24 12:38:03 2025 +0000
Json output: add marker_api in buffer_records
commit f01ab23d2f8f6c524568e2c453fe26a2e4320a1c
Author: Young Hui <young.hui@amd.com>
Date: Wed Apr 23 21:37:36 2025 -0400
Add python binding for agent-index-value to output_config
- command line passes correctly for csv, perfetto needs to be fixed
commit a92dd0c060dd398db365ec37af905dcca25c8a7e
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 23 09:08:43 2025 -0500
provisional fix in json.cpp
- For now using absolut index for agents
commit fddacacbb54f5678a40d552ec8a3a2f9de65381b
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 23 08:55:49 2025 -0500
adding agent indexes (abs, log, type) to types for agent_index_value options
- Fixing agent_id populated in rocpd_memory_allocate table
commit 3b0414ba5271d25996564eddc6d757b1afc637af
Author: Jin Tao <jintao12@amd.com>
Date: Wed Apr 23 11:22:59 2025 +0000
minor revision regarding json output
commit a84bc3d0f7dd9bf1014d024ef15eeb7c7ec990c5
Author: Jin Tao <jintao12@amd.com>
Date: Wed Apr 23 11:16:48 2025 +0000
add json output
commit e6c0dd98de0b5f24492ac4396cf8d59bd20d58ad
Author: Young Hui <young.hui@amd.com>
Date: Tue Apr 22 17:22:45 2025 -0400
Add rocpd commandline input param file check, to ensure DB exists
- added OTF2 script
- added placeholder JSON script
commit 1d482257b8f23bf4d64d57d8bd36775b38254026
Author: Young Hui <young.hui@amd.com>
Date: Mon Apr 21 12:47:52 2025 -0400
Clean up some rocpd python files
- removed some unused files
- cleanup __main__.py imports and duplicate main
commit c15af2aac9935ffce92d9d6ce35ab5e9eabed57c
Author: Young Hui <young.hui@amd.com>
Date: Thu Apr 17 18:40:13 2025 -0400
Add rocpd command line support
- right now pftrace and csv are supported
- also removed some otf2 test files, to fix cmake configure
- formatting edits
commit 10bee3bcf496edd8e1ad9521498c926915a33f07
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 17 15:17:15 2025 +0000
experimented with roctxA, formatted
commit 11ff50882bcbedbe516c6461c5f8d65e38d0aae5
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 17 15:17:05 2025 +0000
experimented with roctxA, formatted
commit 7cc87cbf56f6d7117df10dc2cfe45174bedff22a
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 17 14:16:16 2025 +0000
small refactoring on api-calls preprocessing
commit 421bb11d5b97a4b888c0f9a0b46fca229e4abf25
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu Apr 17 14:03:39 2025 +0000
added rccl, rocdecode, rocjpeg, corrected markers
commit 71c1122ec001ce2548aa1e6d7b0d4bbd5ac16d79
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Wed Apr 16 15:59:39 2025 +0000
integration tests for otf2 generation will stay till otf2 gen becomes stable
commit b8ff32bb269a4efec001804eb0064a8c6c7f8f6d
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Wed Apr 16 15:07:19 2025 +0000
intermediate local commit of functioningotf2 output after refactoring writer code
commit 4d6140fbad00a713aed20b72d41fa62219f9aed7
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Wed Apr 16 09:18:40 2025 +0000
intermediate local commit of functioningotf2 output
commit 96f40ebce93ff3a27c01d5e5267eda67c3ab68ec
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri Apr 11 17:58:24 2025 +0000
first working commit on generating otf2
commit 75ddceb4bd3dc6c32cd8a60450bd1c70bf4d3193
Author: acanadas <acanadas@amd.com>
Date: Wed Apr 16 11:24:30 2025 +0000
Add CSV export functionality to ROCm Profiler Data
Implement complete CSV export pipeline with the following components:
- Add write_csv function to libpyrocpd.cpp for core CSV generation
- Create csv.hpp and csv.cpp for CSV formatting and management
- Implement stats_summary.hpp and stats_summary.cpp for performance metrics
- Add comprehensive type definitions for markers, counters and statistics
- Create SQL views in schema_data for efficient data extraction
- Add csv.py module similar to pftrace.py for Python API consistency
- Implement convert.py script with multiple format support (CSV, Perfetto)
This change enables exporting profiling data in CSV format for easier analysis
and integration with external tools.
commit 953223e32faa862e79bd1f61e28a55874efa0589
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Tue Apr 1 19:58:18 2025 -0500
[output] Update generateRocpd.cpp to new schema + misc
- support guid, {{upid}}, {{view_upid}}, etc.
- improve env support for MPI in format_path
commit 54bd3b0def48d91a81045676fb2f5f549b813880
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Tue Apr 1 19:54:41 2025 -0500
[rocpd] Updates + cleanup
- remove stale {autograd,call_stacks,strings,subclass}.py
- reorganize the SQL schema files
- add source/functions.{hpp,cpp}
- custom SQL function
- update interop for defining functions
- misc improvements to "write_perfetto" function
- added rocpd.pftrace
- added rocpd.output_config
commit 32f668b019c961f0797eec9f613cf5dfea0aa377
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Tue Apr 1 14:35:31 2025 -0500
[common] md5sum calculator
commit b6ae75ba270ea92661f6cfe75647531a4d6202f3
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Sun Mar 30 01:57:50 2025 -0500
Optimize sql_generator when query requires ORDER BY
commit 51d6f33b0b1f80dd09de70c91592f928e31a730f
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Sat Mar 29 01:49:52 2025 -0500
Minimal support for merged pftrace from multiple database
commit 90c4add9001cad2af85d14783ac1fb35c89c7770
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Sat Mar 29 00:46:59 2025 -0500
Update cereal submodule
- fix recursive include
commit a5d75dcb5de9c0667af03ec7a34ac484ff864bac
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Fri Mar 28 14:30:32 2025 -0500
Formatting
commit 7345810d5ea5d76b9a4ed9bd548399cb8df1feda
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Fri Mar 28 13:44:24 2025 -0500
Fixed interpolation bug
commit 289739669a84ac83b920f417ef94310dd9ee40c6
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Fri Mar 28 13:32:29 2025 -0500
Initial memory copy implementation created
commit 91416d784bae05984b8e9670d6cd22231fbc8bed
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Fri Mar 28 13:12:43 2025 -0500
Added memory allocation counter tracks, removed midpoint interpolation temporarily due to strange outputs
commit 7e733e393d06fecc198ae4f7891edecb90882136
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Fri Mar 28 13:22:34 2025 -0500
Support multiple database connections
commit e82d7b3ee24a855258dee50ea3a4ee8e52f70509
Author: Mark Meserve <Mark.Meserve@amd.com>
Date: Fri Mar 28 17:44:05 2025 +0000
fix tracing_session init
commit d29ac6270e7466794ca43ffdf061b7514a29ad94
Author: Mark Meserve <Mark.Meserve@amd.com>
Date: Fri Mar 28 17:00:08 2025 +0000
seperate perfetto init to RAII class
commit 0538261898fdc83a05dc3835ec07d90c4b8dd937
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Fri Mar 28 11:03:45 2025 -0500
Kernel trace in perfetto now functional
commit 3eb63de679e8dfbc3bc551302ca097356f17de7d
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Thu Mar 27 17:43:43 2025 -0500
Added memory copy and allocation types, need to test kernel perfetto output
commit c70ce8340a5e4603bed27d6f3f0d95bc77aad196
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 15:16:18 2025 -0500
Misc libpyrocpd updates
- support conditions on read
commit 189226fb3aeaf3485137335392b271f4f1271040
Author: Ian Trowbridge <Ian.Trowbridge@amd.com>
Date: Thu Mar 27 14:43:25 2025 -0500
kenrel_dispatch type added, added load function for serialize
commit 07f6af65733f34c067365c94500b03a9ffff6b6b
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 14:08:30 2025 -0500
ROCPROFILER_BUILD_DEPRECATED_WARNINGS OFF by default
commit b3df97af8fee651d20030dbfc8d6c635774030a7
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 14:06:42 2025 -0500
Fix include
commit 49baef7d173385154d346120313e6c9511665b68
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 13:16:50 2025 -0500
Python interface improvements
commit 7d614ed3ab07836c420e216261e80e0b629739a4
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 13:16:35 2025 -0500
Output keys: support {...} format in addition to %...% format
commit afdb63a0814f0954dfb7500abe5c95fbacdddbc2
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 00:43:50 2025 -0500
[Release] Replace implementation usage
- rocprofiler_record_dimension_info_t -> rocprofiler_counter_record_dimension_info_t
commit d60ecf99334d96a75b08f99d7a5d8556588258e3
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 00:43:04 2025 -0500
[CMake] ROCPROFILER_BUILD_DEPRECATED_WARNINGS option
commit a89de9f205d500ffc9fdbef400b8b712b167782b
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Mar 27 00:30:52 2025 -0500
[python rocpd] bindings updates
- read_{code_objects,kernel_symbols,nodes,processes,threads}
- support writing perfetto output for regions
- support fallback casting of python object
- defined various data types for python
commit bb048b42f5828ce742947e1d3b72a35c578c0b0c
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 22:18:56 2025 -0500
[SDK] hip stream tracing update
- disable hip stream tracing support for HIP compiler API functions
- add "stream_value" field to rocprofiler_callback_tracing_hip_stream_data_t
- data type: rocprofiler_address_t
commit 392a12b20ee795ab025097066444504aac3ddd88
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 22:02:22 2025 -0500
[output library] generateRocpd.cpp updates
- generic functions for accessing fields which may/may not exist
- simple timer logging
- populate parent_stack_id
- misc cleanup
commit 86ae21d178a0c52ec47e27414b63edbd2a62a94d
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:46:34 2025 -0500
[public API] update cxx/serialization/load.hpp
- ROCPROFILER_SDK_CXX_SERIALIZATION_LOAD_DEBUG
- load definitions
- rocprofiler_address_t
- rocprofiler_callback_tracing_code_object_load_data_t
- rocprofiler_callback_tracing_code_object_kernel_symbol_register_data_t
commit 4ba6232c23296791df484d47db8268e4bc997c0d
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:44:52 2025 -0500
[public API] update cxx/perfetto.hpp
- function: get_perfetto_category for callback tracing and buffer tracing kinds
commit 4c0fcf4395f6c337cf3b955ec45b0567f9b3a477
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:26:32 2025 -0500
[python] Rename rocpd/schema_data/* files
- {tables,views,indexes}.sql
commit 47b862ece9ed3f16d7a5ecd6b632f13b0086bc01
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:23:35 2025 -0500
[external] cleanup external/CMakeLists.txt
commit 4e2a71db9b224b11f4144104b4569a5efb45b6c2
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:23:05 2025 -0500
[samples] Minor tweak to counter collection sample app
commit c62dd55c5e82b4105bdce374dc45c6adf65a0cc4
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:22:08 2025 -0500
[tool library] Rework kernel rename and stream id data
- simplify and improve memory management
- support stream information for memory allocation
commit 2521d499664bb01c0e2f9f9454b5da5c38b29cfc
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Wed Mar 26 21:18:46 2025 -0500
[output library] Misc reorg and updates
- dropped "with_stream" from various data types
- add stream support to memory allocation records
- generator<T> base class resize function
- serialization load functions for kernel symbols, node_info
- reorganization of SQL code
- cereal::SQLite3InputArchive
commit 70a76d6352dca84241f1749da660f8af8e89c469
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Mon Mar 24 03:52:58 2025 -0500
Misc fixes after rebase
commit 4811201c3e07ac8b5b4edc4028df9cdbc3481bd1
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Nov 14 22:30:43 2024 -0600
Python Bindings
Fix rocpd graph support
- remove uniqueness constraint from subclass
- replace assumption of "graphExec" with "pGraphExec" in the parsed API arguments
pybind11 submodule
Initial roctx python bindings
Fix testing
Add rest of python bindings for ROCTX
Add decorators and context manager for roctx
Fix: restore rocprofiler_reset_python3_cache from CMakeLists
work in prorgess! added stub test for pybind
added subdirectory for pybind-test
Fixing CMakeLists for pybind-test
Pybind-test
- Move simple-transpose-pybind.py to tests/bin
- Execute test in CMakeLists for pybind-test
Fix python format
Update rocprofv3 python bindings testing
- move to tests/rocprofv3/python-bindings
- remove misc code
- add marker.py
Update roctx python bindings
Update rocprofv3 python bindings test validation
Update rocprofv3 python bindings test validation
- Add checks for marker_api in json format
- Unify checks for csv and json
patch removing tmp trace_processor_python_api file after validate is run, ptherwise it blocks the work of others
correction of previous commit: correct patch
removed patch because the santizing will be added to perfetto reader
perf reader: removing tmp user-owned file after the data are read
robust handling of removing tmp file via a context
minor clean up perfetto reader, fixing hip-in-libraries-test
minor clean up perfetto reader, fixing hip-in-libraries-test
Fix generateRocpd for older compilers
Formatting
Remove rocpd-db-to-chrome-tracing console script via pip
Fix PYTHONPATH for rocprofv3-trace-roctx-python-bindings-*
replaced context by PerfettoReader destructor to remove tmp perfetto dir after the test run
formatting python
formatted cmake for pybind-tests
Update contexts and decorators roctx python bindings
added stub jypiter notebook for python analysis
formatting notebook
Update jypiter notebook for python analysis
- Create summary tables as views : memory_copy, kernel_dispatch, hip_api
upd the generate_rocpd.py by schme reading and rocpd_node table and queue to rocpd_kernelapi
comments to discuss on generateJson and generateRocpd.cpp
comments to discuss on generateJson and generateRocpd.cpp
remove comments because they block pull
remove comments because they block pull
format generate_rocpd
formatted generateRocpd and generateJSON cpps
formatted generateRocpd and generateJSON cpps
formatted the analysis notebook
reset the Rocpd aand JSon generate to the state before I added comments because my local formatting with c-lang format fails
add using pandas dataframe to generate summaries
added basic pytorch trace example in tests
upd execute toy pytorch test
pretty printing 3 temporary views bypassing pand frames
set instrument cells (functions, constants) in front of usage cells
added experimental routines for creating time slots via markers and counting given api calls within this time slot
formatting
simplified utilities
more simplified utilities, added label usage in report
more simplified utilities, added label usage in report
fogottem commit example matrix mult
added extracting copy operations by kind, added second db to compare, moved looping over database outside basic procedures
marker around print
replaced push.pop with just markers
added duration and matrixmult flops, lists of kernel names and api names
add bin directory variable to pass to generateRocpd
correcting schema
add bin directory variable to pass to generateRocpd
debug upd for matrixmult
create default timed views as copy of the original db
correct table naming in the orifinal db
removing rocpd_string, rocpd_metadata from views
removing rocpd_string, rocpd_metadata from views
removing rocpd_string, rocpd_metadata from views
implemented timed views clean up and creation innotebook
formatted python
formatted python
formatted files via make format and commented pytprch test
added new line at the end of the tableSchema
Add tracing script for rocpd time slicing views
- Start and end options: timestamps/percentage , markers
rebase and format one cpp file
fix source formatting
Rocpd: Time slice data
- Rename tracing.py > time_slice.py
- Adapt time_slice.py to use RocpdImportData, fix typo 'rocpd_api_ops', add output argument (overwrite input otherwise), update rocpd_kernelapi view
- Simplifyed chrome_tracing.py : remove start+end arguments, avoid manipulating the time window/time slice
Fix rebase issues
[DO NOT MERGE] rocpd-schema.md
Schema updates
rocpd schema v3 updates/fixes
rocpd schema v3 updates/fixes
- samples view
- kernels view
- insert zero duration regions as samples
generateRocp update rocpd_memory_allocate table fill
Misc compilation cleanup
tableSchema.sql updates
Add core performance analysis views:
- Add busy view for GPU utilization metrics
- Add top view for overall performance summary
- Add top_kernels view for kernel performance analysis
- Add memory_copies view for memory transfer tracking
- Add memory_allocates view for memory allocation stats
- Add kernel_summary view for aggregate kernel metrics
utilitySchema.sql clean up TOP view and some consistancy changes
added marker views
Update rocpd schema
- new: rocpd_pmc_event
- modified: rocpd_pmc
- modified: _rocpd_memory_copy
- name_id
- add rocdecode API
- populate rocpd_pmc and rocpd_pmc_event
- slight modifications to column names for consistency
:memory allocation insert for db
memory allocation insert for db
memory allocation insert for db
commit after rebase
autoincrement for memory allocation
stringsanitizer applied for pmc description
replaced inner join with left join for stream id, queue id, region name id
Update chrome_tracing.py
- chrome_tracing script updated using new schema
- importer.py pending update with new schema, currently commented out
Misc compilation cleanup after rebase
Update rocpd/time_window.py
- time_window.py script updated using new schema
- Adapt chrome_tracing.py to use time windows
added rocpd_arg and the join view with events, populated
set back default python version to 3.6 for remote
addeddereferencing stream ids and usage, some formatting
refine error messages and help arguments in time_windows.py
test if removing exact python version fixes integration test
removed unused variable
formatting and added back exact 3.6 to fix python linting (try)
removed the exact python version again because it causes advanced analysis to fail
revise microseconds to nanoseconds
made type and name text again, put back strict version for python
Reorganization of public cxx serialization headers
Rework generator<T> (abstract base) + file_generator<T>
- return file_generator<T> from buffered_output
Add gotcha submodule
Update cxx serialization headers
Revert some HIP stream changes
[output library] Misc updates
- fix serialization of agent_info
- add parseRocpd.{hpp,cpp}
- move common SQL utils to sql.{hpp,cpp}
[python libraries] Bindings for rocpd + reorg
- move common cmake code into source/lib/python/utilities.cmake
- build python bindings for rocpd (primitive implementation)
- Require ROCPROFILER_BUILD_SQLITE3=OFF for rocpd python bindings
- wrap sqlite3_open / sqlite3_close / sqlite3_open_v2 / sqlite3_close_v2
Update rocpd/importer.py
- importer.py updated using new schema
commit aff19818a5c9f9f6004013144ae00e2c31b21739
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Nov 14 22:27:39 2024 -0600
[SEPARATE PR] HIP API buffer records with args (ext)
- Needs to be in separate PR
- New buffer tracing domain(s) for HIP APIs which include the arguments and the return value in the buffer records
Update HIP stream support for extended HIP buffer tracing
Update rocprofv3 tool library and output library to use extended HIP buffer tracing recods
commit 43c3f0ddd5a104346d6db77b8a1b66fd9ec2f797
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Thu Nov 14 18:47:52 2024 -0600
[SEPARATE PR] Combo of several separate PRs
[SEPARATE PR] Update correlation ID retirement
- Needs to be in separate PR
- correlation_id_finalize
[SEPARATE PR] rocprofiler_query_intercept_table_name
- Needs to be in separate PR
- Function to get the name of intercept tables
[SEPARATE PR] Memory copy and memory alloc updates
commit e3da9738b06f974fb6b935893f4172852819b6bc
Author: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Date: Mon Nov 4 17:22:30 2024 -0600
Add SQLite3 build support
Initial SQL writing to rocpd schema in C++
task code
Implement kernel dispatch and memory copy writing to table
Update generateRocpd.cpp
- SQLITE3_CHECK macro
- Error messages for sqlite3_exec errors
- Tweaked rocpd_kernelcodeobject to use kernel ids as id
- fixed some issues:
- use string_entries.at(...) instead of (SELECT id FROM ... WHERE string = ...)
- use custom op_idx instead of relying on correlation ID (one correlation ID can map to multiple ops)
Update generate-rocpd.py
- misc tweaks to mirror generateRocpd.cpp implementation
- add strings for counter names
- use kernel id for rocpd_kernelcodeobject
Tweak tests/bin/hip-graph/hip-graph.cpp
- use stream sync
Update generateRocpd.cpp
- made table and view schema more readable
- sql_exec_callback
Add source/scripts/rocprofv3-db-to-tracing.py
- Script which reads a rocprofv3 rocpd database and outputs a chrome tracing format JSON
Common library updates
- static_tl_object: similar to static_object but for thread-local objects
- additional template metaprogramming constructs
- reverse
- function_traits
rocprofiler_stream_id_t: opaque handle for a stream
- e.g. HIP stream
- the same HIP stream may map to different HSA queues at different points in the application
- added to:
- rocprofiler_buffer_tracing_hip_api_record_t
- rocprofiler_buffer_tracing_memory_copy_record_t
- rocprofiler_callback_tracing_hip_api_data_t
- rocprofiler_callback_tracing_memory_copy_data_t
rocprofiler_stream_id_t: output support
- use stream_id in generatePerfetto.cpp
- use stream_id in generateRocpd.cpp
rocprofiler_stream_id_t: output support
- rocpd_kernelapi and rocpd_copyapi encode stream/queue as integer instead of string
Update source/scripts/rocprofv3-db-to-tracing.py
- Create temporary view from multiple db file
- Modify write_chrome_tracing_json to use the tmp views
Update rocprofv3-db-to-tracing.py
- retain rocpd tables names in create_temp_view instead of appending "_tmp"
- improve the GPU/Agent and Queue identifiers
- make the SQL statements easier to read
- remove rocpd_hsaApi usage (not necessary as HSA data resides in rocpd_api table)
- directly connect to input if only one database
Update generateRocpd.cpp
- use dispatch id for rocpd_kernelapi id (primary key)
- use dispatch_id for rocpd_op sequenceId
- create copy_id for rocpd_copyapi id (primary key)
- use copy_id for rocpd_op sequenceId
Update tests/{async-copy-tracing,kernel-tracing,page-migration}
- expand reading the RCCL and scratch memory trace data
Add sdk::parse::strip function
- utility function for stripping characters from beginning and end of string
Preliminary rocpd_node table
- rocpd_node is a meta-table for process ids
- added lib/output/node_info.{hpp,cpp}
- add tool::node_info instance to tool::metadata
Update page-migration test
Python packaging of rocpd
add temporary view rocpd_copyapi
Update rocpd/importer.py
- Add rocpd_kernelapi and rocpd_copyapi
- Create meta temporary views using RocpdSchema
JSON tool handling of HIP compiler API data
Misc rocpd updates
- SQL formatting
- remove unused imports
- fix relative import
lib/output metadata updates
- add process_init_ns and process_fini_ns
- add command_line member
rocprofv3 updates: tool.cpp
- simplify buffer service configuration
- rocprofiler_at_intercept_table_registration -> api_timestamps_callback -> start time
- record init, fini, start, and end times
Added simple_timer to common library
Add missing new lines at end of files
f
added labels for multiprocessed, tested kernel-rename, groupd by queue, type-relative of but bug in run-label
- fixed static marker name to dynamic
rocpd fix python linting errors
Squashed commit of JSON changes, small CSV, OTF2, pftrace fixes, and rocpd commandline params
Contains these original commits:
commit 2c7a10771d60ad0b93073f94f6226a6e92ade4cb
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Wed May 14 18:57:30 2025 +0000
removed run markers reporting from otf2 as they duplicate api calls
commit 826c0c13a164e7a5d2c7f1963cc437ee53416658
Author: Young Hui <young.hui@amd.com>
Date: Wed May 14 12:55:51 2025 -0400
rocpd command line updates
- some stats-summary params moved to generic params since applies to json and csv
- added --group-by-queue for perfetto
commit 33a82dcc9c05869f70219b75c76e4d0e6ae84a39
Author: acanadas <acanadas@amd.com>
Date: Wed May 14 07:12:45 2025 -0500
Fix corr_id for kernel in write_csv, fix std dev in summary views
commit b89dfbd02a243c3e1b5d1a4a968ab5b7c9ecb3a3
Author: acanadas <acanadas@amd.com>
Date: Wed May 14 04:03:56 2025 -0500
Fix generate json merged for multiple db
commit 4968f65f51a6539c95a801c1340487a5675b1f45
Author: Jin Tao <jin.tao@amd.com>
Date: Wed May 14 08:02:10 2025 +0000
clean the code for json: remove host fuction, but keep the basic structure
commit 0f5ed2011a6da5a6046974c03c64569a4747102e
Author: Jin Tao <jin.tao@amd.com>
Date: Wed May 14 07:12:23 2025 +0000
small fix
commit 152c149905e98f33688fdb0cfc5ca88b3c61694d
Author: Young Hui <young.hui@amd.com>
Date: Tue May 13 22:13:35 2025 -0400
Schema revert rocpd_event.correlation_id back to INT
- removed duplicate K.tid from kernel views
- re-enabled some json.cpp code to build
commit 8af5ff79b1f85cd1f2ac4c61af580dc891e6dd70
Author: Jin Tao <jin.tao@amd.com>
Date: Tue May 13 11:13:56 2025 +0000
add host_functions
commit 2a3e0307ab7571be0f46ffd2f706d2c9f34cdce1
Author: acanadas <acanadas@amd.com>
Date: Tue May 13 06:08:10 2025 -0500
Adding summary to write_json, add extra information for sql column type error
commit d339f1cc5eb856e9e3bd7461ac4d776e8265b7cd
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Mon May 12 17:42:47 2025 +0000
fixed counter annotations for kernel dispatch AND shadowed names in jsob.cpp
commit d3a8ece3135a8cb5a78b05f7ca653793d89d5d5a
Author: acanadas <acanadas@amd.com>
Date: Mon May 12 09:18:56 2025 -0500
Fix node for counters in write_json
commit 5153841b8d047bb4c78aeda5675848f2887aef29
Author: acanadas <acanadas@amd.com>
Date: Mon May 12 08:26:22 2025 -0500
Adding counters. code_objects and kernel_symbols in write_json
commit e979a1ab87d6b148d2b90ae25fc60d5e766e3251
Author: Jin Tao <jin.tao@amd.com>
Date: Mon May 12 13:10:13 2025 +0000
add json counter_collection.records
commit 026d022052122ee36f83022e270110840dc38aa3
Author: Young Hui <young.hui@amd.com>
Date: Sat May 10 00:29:33 2025 -0400
Fix kernel_dispatch thread_id in Perfetto traces, more pftrace args supported and formatting
- perfetto-backend=system results in 0KB pftrace file, but probably need the traced and perfetto daemons (have not tested with them)
commit f1341487723672b407fa89d2d383944d92663c55
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri May 9 17:08:40 2025 +0000
fixed counters for perfetto but need more testing
commit 33612f9bc6121e38ad9b41d2aecd035d1d629efb
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri May 9 13:34:50 2025 +0000
rearchitectured generator tests into a dedicated rocpd-generators suit (to be extended) and jdon file-name input made a parameter
commit da1e386b77bc1bbbbdc1ca8ee2ffd8c09a99ae5b
Author: acanadas <acanadas@amd.com>
Date: Fri May 9 08:36:00 2025 -0500
fixing buffer_record missing values in json, fix using clang_tidy
commit f7adb8b28ab64127ef20ff642ced40ccace7fef8
Author: acanadas <acanadas@amd.com>
Date: Fri May 9 10:08:28 2025 +0000
revise callback_records.counters_collection, still has 3 TBDs
commit 49d4057e7b7e295953915b90cdeb7359948c5034
Author: acanadas <acanadas@amd.com>
Date: Thu May 8 11:10:32 2025 -0500
Fixing correlation_id for csv and json
commit bb37556c9d1da7fe1ccb0bc5bf0e05d4f0989476
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu May 8 13:27:01 2025 +0000
This is a combination of 3 commits.
tree node indexing updated, added extended agent struct for otf2 for efffective handling agents, agent indexes and laeled agent names
rolled back tree id as process counter, tested well (source and test)
commit 38dc36da08a5a505b6d7d47840690b4d6c29b429
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Thu May 8 13:26:46 2025 +0000
tree node indexing updated, added extended agent struct for otf2 for efffective handling agents, agent indexes and laeled agent names
commit 2958ba37abc86e5b03bc03f5d529c0efcfd2ce45
Author: acanadas <acanadas@amd.com>
Date: Thu May 8 08:08:10 2025 -0500
Adding size, kind and operation for buffer_records in write_json
commit 654c42d8a1c341ef1bfbb724eaf6b24e64fb5475
Author: acanadas <acanadas@amd.com>
Date: Thu May 8 07:40:30 2025 -0500
Fixing merge with schema change
commit 01f133bc0fed66d60cb5fe05d9e0b256938c7fb0
Author: acanadas <acanadas@amd.com>
Date: Thu May 8 06:48:58 2025 -0500
fixing write_json merge
commit dd3bbd5ed6faabc2207d9bf933c5c8efb8a2fe16
Author: root <root@smc300x-ccs-aus-GPUF2C5.cs-aus.dcgpu>
Date: Thu May 8 04:45:56 2025 -0500
update write_json adding strings, buffer_records and counters
commit 6a991305bf75f4f2e944b40e7194b43fcf1ec340
Author: Young Hui <young.hui@amd.com>
Date: Thu May 8 01:29:08 2025 -0400
Schema changed rocpd_event.correlation_id to TEXT type [WIP]
- when --kernel-rename is used, SQL stores correlation_id.external.value value with precision error. To store accurately, need to store as TEXT.
- work-in-progress commit, still getting a few rocpd SQL conversion warnings due to TEXT type change.
commit d50b058dc764394f9fc9cfc264866f43f9354da0
Author: oshkarav_amdeng <oshkarav@amd.com>
Date: Fri May 2 09:32:12 2025 +0000
This is a combination of 2 commits.
fixed clang tidy complaint on otf2 and perfetto, added guid-s t info names, but still 2-process DBs fail
fixed mutliprocess otf2, but agents still need to be labeled by guid
Misc fixes
- flush less often for perfetto
- metadata create_agent_index
- remove sqlite3_close from write_otf2
- warning if gotcha_wrap fails
- fix rocpd-generators tests
- fix multi-python build config
Whitespace cleanup
Revert tests/rocprofv3/summary/CMakeLists.txt
Remove unused scripts
- generate-rocpd.py is outdated
- rocprofv3-db-to-tracing.py is scratch
- simple-transpose-pybind.py is no longer used
Fix maybe-uninitialized compiler warning
Fix maybe-uninitialized compiler warning
Update rocpd.write_X functions to require RocpdImportData instance
- create libpyrocpd.RocpdImportData
- rocpd.importer.RocpdImportData inherits from libpyrocpd.RocpdImportData
- write_csv, write_json, etc. all require instance of RocpdImportData instead of list of sqlite3.Connection
output/rocpd source reorganization
- move lib/output/parseRocpd.* to lib/python/rocpd/source/common.*
- move lib/output/serialization to lib/python/rocpd/source/serialization
- move lib/output/sql/generator.hpp to lib/python/rocpd/source/sql_generator.hpp
Minor refactor of lib/output/sql/*
Remove lib/output/sql.hpp
- this file just included other headers
Fix rocpd source reorg
Update schema files
- replace quotes with backticks
remove short guid from perfetto
fix string sanitization in generateRocpd.cpp
* Update cereal submodule
* Updates following rebase
- remove MANIFEST.in
- remove rocpd/schema_data/*.sql
- use rocprofiler-sdk-rocpd
* rocpd command line update to pass importData instead of connection
* Update get_perfetto_category for ROCDECODE_API_EXT
* data_views.sql updates
- remove kernels_renamed view
- remove rccl view
- remove rocjpeg view
- remove rocdecode view
- remove api_regions view
- remove api_threads view
* Perfetto, OTF2, output config updates
- Support kernel rename for output config
- Combine memory copy and kernels into same stream track
- Fix get_category_string in perfetto
- Support kernel renaming in OTF2 and Perfetto
* Add samples to perfetto
* ORDER BY for perfetto regions/samples
* Fix busy view, fix integer overflow in summary views
* CSV adding --stats-per-rank and --stats-summary-per-rank reports
Squash of these original commits:
commit 4c0ded4efb6ef273953faf7fd100a54ce16ae00b
Author: Jin Tao <jintao12@amd.com>
Date: Mon Jun 2 07:25:06 2025 +0000
change all rank output to PID instead of GUID
commit 969950b009ad18a156a31bfee43f64e032720262
Author: Jin Tao <jintao12@amd.com>
Date: Wed May 28 11:22:29 2025 +0000
Change --stats-per-rank and --stats-summary-per-rank to csv.py
commit 970f88dec3bb83663d8a84d8bf4dfcfb8857e903
Author: Jin Tao <jintao12@amd.com>
Date: Thu May 22 11:39:51 2025 +0000
refactor and small bug fix
commit a4c5ab4290c0a9b7b45421c3fc21150914d12110
Author: Jin Tao <jintao12@amd.com>
Date: Thu May 22 10:59:13 2025 +0000
add args for --stats-per-node and --stats-summary-per-node
commit 432907d0a54de886d01f962f3084c6708bdb1456
Author: Jin Tao <jintao12@amd.com>
Date: Thu May 22 09:22:55 2025 +0000
add summary for marker, rccl, rocdecode, rocjpeg_calls
commit ab53c9c8f4a6f5f7bf40a32bf1f93add1dbd10f5
Author: Jin Tao <jintao12@amd.com>
Date: Wed May 21 13:33:04 2025 +0000
add hsa_api_stats_by_node, hip_api_stats_by_nod
commit b26974bdd6d0047759b4014f9c226cf771f0a2ad
Author: Jin Tao <jintao12@amd.com>
Date: Wed May 21 11:14:07 2025 +0000
Add memory allocation stats by node and memory copy stats by node
commit d02819c2c4bd57bfeb0537d3a42d9f22866e8600
Author: Jin Tao <jintao12@amd.com>
Date: Wed May 21 08:33:08 2025 +0000
Kernels (or categories) by node completed
* JSON fixes for agent in memory allocation if free in write_json, add group by nid for _summary_node views
Squash of these original fixes:
commit 25d8d985b319585fab16eb6d8e9ec5c91e767a91
Author: acanadas <acanadas@amd.com>
Date: Thu May 22 14:00:20 2025 +0000
fix agent for memory allocation if free in write_json, add group by nid for _summary_node views
commit d64905418a307db9e56b816e4b9f4de587bc3a14
Author: acanadas <acanadas@amd.com>
Date: Thu May 22 08:55:21 2025 +0000
Fix typo json.cpp for memory copy src agent
* CSV add domain_stats_per_rank and PID header fix
Squash of these 3 commits:
commit 10ec1cf40cc92a9d7ce7db84a8c6bbe20c51a340
Author: Jin Tao <jintao12@amd.com>
Date: Tue Jun 3 10:06:33 2025 +0000
small fix PID header rename
commit 6775fd3b2031b30ae389b165cf44b321026c1e80
Author: Jin Tao <jintao12@amd.com>
Date: Mon May 26 11:47:23 2025 +0000
Add domain_stats_per_rank
commit 9f3eb1793e354c1f04bab1fbc837e86f1f5b5030
Author: Jin Tao <jintao12@amd.com>
Date: Thu May 22 12:11:28 2025 +0000
add domain_summary_node view
CSV PID header formatting
* upd otf2 generate validation test went well
* fix Cmake formatting
* In data_views, change P.id/T.id to P.pid/T.tid
* Remove unapproved views for this PR
* Remove rocpd JSON output support
* Fix clang-tidy errors
* Revert output_config changes + cmake + remove chrome_tracing.py
* Revert
* Misc rocpd cleanup
- remove all CsvType per-node and stats enum values
- remove rocpd::types::marker
- remove rocpd/source/stats_summary.{hpp,cpp}
- add `sample_regions` view
- add `regions_and_samples` view
- move tests/rocprofv3/rocpd-generators to tests/rocprofv3/rocpd
- merge validate_perfetto.py and validate_otf2.py into single validate.py
* Remove stats options from rocpd.output_config
* Remove json from rocpd.__main__
* Remove rocpd.csv summary/stats options
* Remove generate_from_rocpd.py
* Add rocpd subparser (convert) + migrate tests to use python3 -m rocpd
* Add additional tests for the rocpd command line
- Check the --help flag works for:
- python3 -m rocpd --help
- python3 -m rocpd convert --help
- python3 -m rocpd.csv --help
- python3 -m rocpd.otf2 --help
- python3 -m rocpd.pftrace --help
* adding rocpd python shebangs and main function parameter ordering
* Fix sanitizer tests + remove read_code_objects and read_kernel_symbols
* Misc updates
- Update CHANGELOG.md and source/lib/python/rocpd/README.md
- update time_window.py
- find min/max in regions_and_samples/kernels/memory_allocations/memory_copies
- RocpdImportData supports all the same functions as sqlite3.Connection
* Improve time_window.py
- find the tables with start/end dynamically
- find the tables with timestamp dynamically
* Minor revert to time_window.py
* Remove tests/rocprofv3/pytorch-tests
* Fix python 3.6 error in time_window.py
- 'type' object is not subscriptable
* Fix rocpd installation
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: Young Hui <young.hui@amd.com>
Co-authored-by: acanadas <acanadas@amd.com>
Co-authored-by: Jin Tao <jintao12@amd.com>
Co-authored-by: oshkarav_amdeng <oshkarav@amd.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
0e93099fd7 |
[rocprofv3] SQLite3 database output (rocpd) support + rocprofiler-sdk-rocpd (#403)
* [rocprofv3] rocpd SQLite3 database output support
* Move counters xml and yaml to source/share/rocprofiler-sdk
- more representative of install hierarchy
* Add share/rocprofiler-sdk/rocpd SQL files
* Experimental rocprofiler-sdk SQL API
* rocprofv3 default output format is rocpd
* Fix rocpd event ids for counter collection w/o kernel dispatch
* Remove fktable entries from rocpd_tables.sql
* Fix rocpd schema path
* Fix install component for roctx python bindings
* rocprofiler-sdk-rocpd
- create include/rocprofiler-sdk-rocpd
- create rocprofiler-sdk-rocpd library, package, etc.
- default all "guid" fields to "{{guid}}" in tables
- remove "{{view_uuid}}" support (always unused)
* Migrate rocprofv3 to use rocprofiler-sdk-rocpd
* Fix missing foreign key reference
* Revert change
* Fix cmake comment
* Fix maybe-uninitialized compiler warning
* Fix maybe-uninitialized compiler warning
* Add logging to rocpd_sql_load_schema
* Improve string sanitization when inserting json strings
* Initialize rocpd logging on rocprofiler-sdk-rocpd library load
* Revert lib/output/generatePerfetto.cpp changes
* [temporary] Tweak rocprofv3-test-list-avail-trace-execute test log level
* Update get_install_path for lib/rocprofiler-sdk-rocpd/sql.cpp
- try to resolve issues on RHEL/SLES for dladdr
* Update lib/common/logging.cpp
- enable environ overrides
* dlsym for rocpd_sql_load_schema
* Make dl_info.dli_fname lexically normal
* Implement node_info alternatives if /etc/machine-id does not exist
* Misc include fixes
* SHA256 and UUIDv7 support
* Implement UUIDv7 in generateRocpd.cpp
* Support push/pop environment variables
* Minor tweak
* Fix glog segfaults when unsetting glog env
* Updated CHANGELOG
* Updates tests/pytest-packages
- rocpd_reader.py: RocpdReader
* Update tests / marker_views.sql
- add test_rocpd_data
* Update rocpd_tables.sql
- Use AUTOINCREMENT
- insert "uuid" and "guid" into rocpd_metadata
* Minor updates to generateRocpd.cpp
- don't quote GUID
- use sqlite3_open_v2
- use sqlite3_close_v2
* Update execute_raw_sql_statements_impl
- uses sqlite3_last_insert_rowid for autoincrement
* Update SQL deferred_transaction
- CI check for nullptr to connection
* Apply suggestions from code review
Co-authored-by: Welton, Benjamin <Benjamin.Welton@amd.com>
* Code review updates
- formatting
- replace if with switch
- remove loop for {{uuid}}
* Fix pmc_groups handling in rocprofv3
* Address code review feedback
- Include rocm_version in rocprofv3 version info
- Note `--version` option for `rocprofv3` in CHANGELOG.md
- remove commented out code
* Fix packaging dependencies
* Fix install package step of CI workflow
* Fix install package step of CI workflow
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: Welton, Benjamin <Benjamin.Welton@amd.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
b097e276a9 |
[rocprofv3] Add rocpd output support (part 1: prelude) (#401)
* [rocprofv3] Add rocpd output support (part 1: prelude)
- git submodules for sqlite3, GOTCHA, and pybind11
- HIP stream data
- rocprofiler_query_intercept_table_name(...)
- serialization load
- rocprofiler::sdk::get_perfetto_category(KindT)
- rocprofiler::sdk::parse::strip
- common library updates
- md5sum
- hasher
- simple_timer
- static_tl_object
- get_process_start_time_ns(pid_t)
- output library updates
- node_info
- file_generator (generator is now virtual base class)
- stream info updates
* Added submodules
* Code review updates
* Minor unused-but-set-X warning fixes
* Update CI
- install libsqlite3-dev package
* Update CI
- install libsqlite3-dev package
* Fix static thread-local object memory leak
- also fix signal handler chaining
* Remove URL from comment
* Remove page migration exception
* Enable ROCPROFILER_BUILD_SQLITE3 by default
- try find_package(SQLite3) first and then build when ROCPROFILER_BUILD_SQLITE3=ON
* Fix gotcha installation
- make install of target optional
* Validate tracing + counter collection dispatch data
- i.e. correlation ids, thread ids, timestamps
* Make find_package(SQLite3) optional
- ROCm CI does not have SQLite3 dev package installed and cannot build from source (missing tclsh)
* Fixes to tracing + counter collection test
* get_process_start_time_ns update
- original implementation did not work
* Fix pytest-packages test_perfetto_data for counter collection
- erroneous failure when used with same PMC + multiple agents
* cmake policy: option() honors normal variables
- for GOTCHA submodule
* Improve samples/api_buffered_tracing stability
- reduce likelihood of sporadic exception throw
* Update gotcha submodule
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
2e7d0b3aec |
[rocprofv3] signal handler fix (#332)
* rocprofv3: LD_PRELOAD for signal and sigaction
- wrappers around `signal` and `sigaction` to prevent applications which install signal handlers to replace the rocprofv3 signal handlers
- minor tweaks to buffer sizes (use page_size instead of
KiB)
* [DO NOT COMMIT] extra logging
* Switch git submodule url for perfetto
- use GitHub URL as this is more accessible
* Update ring_buffer<Tp>
- account for alignment padding
* Update buffered_output
- track number of bytes stored
- add nullptr checks
* Update tmp_file_buffer
- track number of bytes
- read_tmp_file does not create tmp file if it does not already exist
* Update tmp_file
- add exists member function for checking whether temporary file already exists
- tweak remove() implementation
* Update config.hpp
- add option to enable/disable signal handlers
- add option for minimum_output_bytes
* Make signal, sigaction functions visible
* rocprofv3 tool updates
- chained signals
- override the signal handler(s) installed by the application
- improve cleanup of temporary files
- support minimum output bytes
* Add commandline support
* fixing test
* minor fix
* minor fix
* fix clang issue
* fix
* Adding docs
* review comments
* review changes
* review
* YUV pulldown additions to rocdecode
* More rocdecode changes
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
207cb06783 |
OTF2 - Fix lib vs lib64 location on some systems (#68)
On my dev machine I use OpenSUSE Tumbleweed. For some reason OTF2 gets
installed into BUILD/external/otf2/lib64/, while cmake for the lib
searches BUILD/external/otf2/lib and cannot find it.
My fix sets the location to always match CMAKE_INSTALL_LIBDIR
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
f8442415f8 |
SWDEV-492607: Adding ATT wrapper (#40)
* Adding att parser wrapper
* Adding ATT tests as optional
* Adding decoder API for query capability
* Removed samples
* Formatting
* adding new line
* Removed perfetto and moved to static library
* using default search for lib
* Updated to SDK
* Namespace changes
* Added tests
* Small refactor
* Updated API to receive agent_id
* Fixing tests
* Tidy fixes
* Not write to file
* Switch to filesystem.hpp
* Compilation fixes
* Formatting
* Tidy fix
* Removed likely
* Adding tests
* Added gfx9 test
* Adding gfx12 tests
* Formatting
* Enable tidy
* Fix tests
* Fix deadlock on agent test
* Workaround ASAN
* Moving query outside class.
* Fix standalone tool
* Addressing comments
* Formatting
* Change query name
* Fixed some tests. Updated PR comments.
* Formatting
* Improved coverage
* Formatting
* Fix for comments
* Formatting
* Adding some description. Fix error type.
---------
Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
07f698a532 |
CMake: Consistently name CMake Targets (#1082)
* Change all rocprofiler-X target names to rocprofiler-sdk-X
* Update rocprofiler-sdk-config.cmake
- fix install tree target names
- simplify logic for using find w/ components and find w/o components
* Update rocprofiler-sdk-roctx-config.cmake
- simplify logic for using find w/ components and find w/o components
* Update samples/intercept_table/CMakeLists.txt
- demonstrate/test use of `find_package(rocprofiler-sdk ... COMPONENTS ...)`
[ROCm/rocprofiler-sdk commit:
|
||
|
|
5db64b5425 |
Fix OTF2 build dependency (#1080)
- systems with many cores (e.g. 128) had a race condition between compiling generateOTF2.cpp and the otf2-build make install step
[ROCm/rocprofiler-sdk commit:
|
||
|
|
ac26812e5c |
external/otf2/CMakeLists: Do not pass LDFLAGS from env (#1010)
When configuring the otf2 dependency, CFLAGS, CXXFLAGS, CC and CXX are
explicitly specified, but LDFLAGS is not. As a consequence, LDFLAGS is
picked up from the environment (if set). In some build configurations,
the LDFLAG from the environment is not compatible with the rest of the
compiler/linker configuration options specified in CMakeLists.txt,
resulting in the configure script failing.
This patch make sure to specify an empty LDFLAGS when configuring otf2
build to avoid such issues.
Bug: SWDEV-477693
[ROCm/rocprofiler-sdk commit:
|
||
|
|
ef22b7a484 |
rocprofv3 OTF2 Output Support (#995)
* CMake support for OTF2 library
* Preliminary OTF2 generation implementation
* Completed OTF2 Support
- HSA API
- HIP API
- Marker API
- Async Memory Copies
- Kernel Dispatch
* Update lib/rocprofiler-sdk-tool/generateOTF2.cpp
- fix location type for dispatches
* Testing for OTF2 output
* Add OTF2 to requirements.txt
* Update lib/rocprofiler-sdk-tool/generateOTF2.cpp
- fix getting kernel name
* OTF2 testing with rocprofv3/tracing-hip-in-libraries
* Format external/otf2/CMakeLists.txt
* Update external/otf2/CMakeLists.txt
- guard CMP0135 for cmake < 3.24
* Update lib/rocprofiler-sdk-tool/generateOTF2.cpp
- fix duplicate string ref issue
* Update lib/rocprofiler-sdk-tool/generateOTF2.cpp
- fix header includes
* Update CI workflow
- sudo install pypi requirements for core-rpm for $HOME/.local installs
* Update pytest_utils/otf2_reader.py
- modifications for reading trace
* Update pytest_utils/otf2_reader.py
- misc cleanup
* Update CI workflow
- fix installer artifact naming
* Update pytest_utils/otf2_reader.py
- handle slightly overlapping kernel timestamps for MI300
* OTF2 attributes for category
* Testing with OTF2Reader category attributes
* Fix memory leak in OTF2 generation
- leaking OTF2_AttributeList
[ROCm/rocprofiler-sdk commit:
|
||
|
|
cc30e4830d |
Convert counter def format to YAML (#976)
* Convert counter def format to YAML
Converts counter definition format to YAML with the
following structure:
```yaml
COUNTER_NAME:
architectures:
gfxXX: // Can be more than one, / deliminated if they share idential data
block: <Optional>
event: <Optional>
expression: <optional>
description: <Optional> // In case per arch notes are needed
gfxYY:
...
description: General counter desctiption
```
All counters (derived and hardware) are now defined
in the same file for ease of future additions/subtractions.
Removes existing XML parser. Keeps the existing XML
definitions for now (since other tools still rely on
its presence).
[ROCm/rocprofiler-sdk commit:
|
||
|
|
40e85cadd8 |
Parse ELF format for rocprofiler_configure symbol (#970)
* Parse ELF format to search for rocprofiler_configure
* Use ELF parsing in registration
[ROCm/rocprofiler-sdk commit:
|
||
|
|
ada9d97b78 |
Miscellanous AFAR 5 Updates (#891)
* Dispatch table copy/update uses ROCP_TRACE instead of ROCP_INFO
* Update rocprofiler-sdk CMake config
- rocprofiler::rocprofiler is alias to rocprofiler-sdk::rocprofiler-sdk instead of other way around
* Prefer rocprofiler-sdk::rocprofiler-sdk over rocprofiler::rocprofiler
* Fix WITH_UNWIND for glog
- requires a value of "none" instead of boolean now
* Update include/rocprofiler-sdk/registration.h
- explicit struct names to permit forward decl
* Update include/rocprofiler-sdk/cxx/serialization.hpp
- ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN and ROCPROFILER_SDK_CEREAL_NAMESPACE_END to enable customized namespace
[ROCm/rocprofiler-sdk commit:
|
||
|
|
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:
|
||
|
|
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:
|
||
|
|
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:
|
||
|
|
407fc57ede |
Shared Library Constructor (rocprofv3 deadlock fix) (#599)
* Moved tests/apps to tests/bin
* Renamed cmake project in tests/bin
* Update samples
- Use ROCPROFILER_DEFAULT_FAIL_REGEX
- tweaks to stdout messages
* Update tests
- Use ROCPROFILER_DEFAULT_FAIL_REGEX
* Add tests/lib
- libraries with HIP code
* Update PTL submodule
- remove atexit delete of thread_id_map
* Update cmake/rocprofiler_options.cmake
- Set ROCPROFILER_DEFAULT_FAIL_REGEX
* Update common lib: env + logging
- improved customization of logging settings
- default to disabling logging to files
- install failure handler for rocprofv3
- set_env support in environment.*
* Add lib/rocprofiler-sdk/shared_library.cpp
- shared library constructor
* Update lib/rocprofiler-sdk-tool/tool.cpp
- destructor thread safety
- convert callback_name_info and buffered_name_info to pointers
- install failure handler for logging
* Add tests/bin/hip-in-libraries
- hip-in-libraries is an exe which uses two shared libraries where each shared library contains HIP kernels
- used for testing deadlocking within __hipRegisterFatBinary
* Update bin/rocprofv3
- reorganized the env variables
- use exec to launch command
- set ROCPROFILER_LIBRARY_CTOR=1
* Add tests/rocprofv3/tracing-hip-in-libraries
- uses hip-in-libraries exe for exe which uses shared libraries to launch HIP kernels
* Update bin/rocprofv3
- fix counter collection (no exec)
* Update lib/rocprofiler-sdk-tool/tool.cpp
- replace "Kernel-Name" with "Kernel_Name"
* Update lib/rocprofiler-sdk/registration.cpp
Use RTLD_LOCAL instead of RTLD_GLOBAL for env libraries
* Update tests/rocprofv3
- replace "Kernel-Name" with "Kernel_Name"
* Update tests
- vector-ops (bin) stream syncs + runs with 4 queues per device
- improve counter-collection/input1 validation
- rocprofv3/tracing-hip-in-libraries does not do sys-trace
- improved validation script for tracing-hip-in-libraries
- updated dispatch_callback in json-tool.cpp following reworking of prototypes for counter collection
* Update samples/counter_collection
- updated dispatch_callback(s) and record_callback(s) following reworking of prototypes
* Update bin/rocprofv3
- reorganized help menu
- added options for sub-HSA tables
- added --hip-runtime-trace
- changed --hip-trace to include --hip-compiler-trace
* Update lib/rocprofiler-sdk-tool
- improved kernel filtering
- removed arch_vgpr, accum_vgpr, sgpr code (in rocprofiler-sdk)
- fixed issue with counter-collection w/o tracing
- added support for fine grained HSA API tracing
- removed directly linking to HSA-runtime
* Update lib/rocprofiler-sdk/agent.cpp
- rocp_agents != hsa_agents is non-fatal when ROCPROFILER_BUILD_CI=OFF (CMake option)
* GPR (vector and scalar) info in kernel symbol data
- rocprofiler_callback_tracing_code_object_kernel_symbol_register_data_t contains general purpose register info
* Header include order fix
- Include repo headers first
- Third party library headers next
- standard library headers last
* Update dispatch profiling public API
- introduce rocprofiler_profile_counting_dispatch_data_t
- change signature of rocprofiler_profile_counting_dispatch_callback_t and rocprofiler_profile_counting_record_callback_t
- provide rocprofiler_user_data_t pointer in dispatch callback
- provide rocprofiler_user_data_t value (from dispatch cb) in record callback
* Update tests/bin/CMakeLists.txt
- fix add_subdirectory(hip-in-libraries) order
* Update VERSION
- bump to 0.2.0 in prep for AFAR
[ROCm/rocprofiler-sdk commit:
|
||
|
|
a360de4550 |
Correlation ID Retirement + misc (#527)
* Correlation ID Retirement
- include/rocprofiler-sdk/buffer_tracing.h
- add rocprofiler_buffer_tracing_correlation_id_retirement_record_t
- include/rocprofiler-sdk/fwd.h
- ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT
- lib/rocprofiler-sdk/buffer_tracing.cpp
- kind string for correlation id retirement
- lib/rocprofiler-sdk/buffer.hpp
- emplace returns bool
- lib/rocprofiler-sdk/registration.cpp
- pass lib_instance to copy_table functions
- lib/rocprofiler-sdk/context/context.*
- update correlation_id struct
- make ref_count private
- {get,add,sub}_ref_count() functions
- sub_ref_count() performs correlation id retirement
- use stack for "latest" thread-local correlation id
- lib/rocprofiler-sdk/hip/hip.*
- migrate to new {get,add,sub}_ref_count() for correlation ids
- return in iterate_args
- handle table instance in copy_table
- lib/rocprofiler-sdk/hsa/hsa.*
- migrate to new {get,add,sub}_ref_count() for correlation ids
- return in iterate_args
- handle table instance in copy_table
- lib/rocprofiler-sdk/marker/marker.*
- migrate to new {get,add,sub}_ref_count() for correlation ids
- return in iterate_args
- handle table instance in copy_table
- lib/rocprofiler-sdk/hsa/async_copy.cpp
- migrate to new {get,add,sub}_ref_count() for correlation ids
- handle table instance in async_copy_init / async_copy_save
- lib/rocprofiler-sdk/hsa/queue.cpp
- migrate to new {get,add,sub}_ref_count() for correlation ids
- tweak to external correlation id mapping in WriteInterceptor
- tests/async-copy-tracing/validate.py
- check retired_correlation_ids
- tests/common/serialization.hpp
- support rocprofiler_buffer_tracing_correlation_id_retirement_record_t
- tests/kernel-tracing/validate.py
- check retired_correlation_ids
- tests/common/CMakeLists.txt
- perfetto external project
- tests/common/perfetto.hpp
- perfetto categories + aliases
- add_perfetto_annotation
- metaprogramming helpers
- tests/tools/CMakeLists.txt
- link to tests-perfetto
- tests/tools/json-tool.cpp
- demangling functions
- serialization of marker API callback args
- reduce parallel bottleneck in tool_tracing_callback
- support correlation id retirement
- Multiple threads for buffers
- Support ROCPROFILER_TOOL_CONTEXTS_EXCLUDE env variable
- write_perfetto() function
* Update tests/rocprofv3/tracing/validate.py
- tweak test_hsa_api_trace
* Update PTL submodule
- fixes for data race during destruction of task
* Update lib/rocprofiler-sdk/buffer.*
- unique_buffer_vec_t uses std::unique_ptr instead of allocator::unique_static_ptr_t
* Reduce timeouts in counter collection samples [skip ci]
* Update tests/tools/json-tool.cpp
- tweak demangle(string_view, int*) -> demangle(string_view, int&)
* Update lib/rocprofiler-sdk/hsa/async_copy.cpp
- move sub_ref_count() to later in async_copy_handler to delay retirement slightly more
[ROCm/rocprofiler-sdk commit:
|
||
|
|
cefb7bc8d6 |
HIP API Tracing (#357)
* Update include/rocprofiler-sdk/hip*
- updates for intercept table
* Update lib/common/units.hpp
- clang-tidy fixes
* Add lib/rocprofiler-sdk/hip
- tracing implementation for the HIP intercept table
* Update source/lib/rocprofiler-sdk/CMakeLists.txt
- add_subdirectory(hip)
* Update source/lib/rocprofiler-sdk/hsa
- offset function in hsa_api_info<Idx>
- remove report_activity, set_callback
- Tweak HSA_API_TABLE_LOOKUP_DEFINITION
* Update lib/rocprofiler-sdk/hip
- rocprofiler::hip::copy_table
- stringize_impl print dereferenced pointers when possible
* Update lib/rocprofiler-sdk/hsa/utils.hpp
- stringize_impl print dereferenced pointers when possible
* Update lib/rocprofiler-sdk/tests/intercept_table.cpp
- remove failures for intercepting HIP API tables
* Update include/rocprofiler-sdk/fwd.h
- add ROCPROFILER_HIP_RUNTIME_LIBRARY (== ROCPROFILER_HIP_LIBRARY)
- add ROCPROFILER_HIP_COMPILER_LIBRARY
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- Support ROCPROFILER_BUFFER_TRACING_HIP_API in rocprofiler_query_buffer_tracing_kind_operation_name
- Support ROCPROFILER_BUFFER_TRACING_HIP_API in rocprofiler_iterate_buffer_tracing_kind_operations
* Update lib/rocprofiler-sdk/callback_tracing.cpp
- Support ROCPROFILER_CALLBACK_TRACING_HIP_API in rocprofiler_query_callback_tracing_kind_operation_name
- Support ROCPROFILER_CALLBACK_TRACING_HIP_API in rocprofiler_iterate_callback_tracing_kind_operations
- Support ROCPROFILER_CALLBACK_TRACING_HIP_API in rocprofiler_iterate_callback_tracing_kind_operation_args
* Update lib/rocprofiler-sdk/intercept_table.cpp
- support HipDispatchTable and HipCompilerDispatchTable
* Update lib/rocprofiler-sdk/internal_threading.cpp
- Support ROCPROFILER_HIP_COMPILER_LIBRARY
* Update lib/rocprofiler-sdk/registration.cpp
- Support "hip" and "hip_compiler" in rocprofiler_set_api_table
- Added some extra logging
* Update samples/api_{buffered,callback}_tracing
- Modifications to demonstrate HIP API tracing
* Update tests/kernel-tracing
- Modifications to handle/test HIP API tracing
* Separate HIP tracing from HIP compiler tracing
* Fix installation of include/rocprofiler-sdk/hip/*
- add compiler and table headers to install
* Fixes to HIP interception
- hip_api_trace.hpp was updated a bit
- removed hipGetDeviceProperties (generic)
- added hipGetDevicePropertiesR0600
- added hipGetDevicePropertiesR0000
- removed hipRegisterTracerCallback
- reordered hipCreateChannelDesc, hipExtModuleLaunchKernel, hipHccModuleLaunchKernel
- added hipDrvGraphAddMemsetNode
- static asserts in hsa_api_info ensuring ordering of pointers
* Update lib/rocprofiler-sdk/hip/hip.*
- use size_t instead of rocprofiler_hip_table_api_id_t as non-type template parameter (smaller binary)
- separated out population of callback_context_data and buffered_context_data into non-template function (significantly smaller binary)
* Update lib/rocprofiler-sdk/hsa/hsa.*
- separated out population of callback_context_data and buffered_context_data into non-template function (significantly smaller binary)
* Update test/kernel-tracing/validate.py
- does not expect any hip_api_traces until libamdhip.so actually starts using rocprofiler-register
* Update tests/tools/json-tool.cpp
- fix context associated with "HIP_API_CALLBACK"
* Update external/CMakeLists.txt
- move misc variables to top of CMakeLists.txt so they apply to all external subprojects
- BUILD_TESTING (OFF)
- BUILD_SHARED_LIBS (OFF)
- BUILD_OBJECT_LIBS (OFF)
- BUILD_STATIC_LIBS (ON)
- CMAKE_POSITION_INDEPENDENT_CODE (ON)
- CMAKE_VISIBILITY_INLINES_HIDDEN (ON)
- CMAKE_CXX_VISIBILITY_PRESET (hidden)
- disable using libunwind in glog
* Update lib/rocprofiler-{sdk,sdk-tool}/CMakeLists.txt
- remove explicit setting of SKIP_BUILD_RPATH
* Update CMakeLists.txt
- set high-level CMAKE_BUILD_RPATH and CMAKE_INSTALL_RPATH_USE_LINK_PATH
* Update tests/CMakeLists.txt
- include(GNUInstallDirs)
* Update samples/CMakeLists.txt
- include(GNUInstallDirs)
* Update include/rocprofiler-sdk/hip/{compiler_api,api}_args.h
- remove extern "C" due to incompatibility b/t empty struct in C (size 0) vs. empty struct in C++ (size 1)
* Update lib/rocprofiler-sdk/hip/details/ostream.hpp
- clang-tidy fixes
* Update cmake/rocprofiler_linting.cmake
- add a feature for clang tidy exe
* Update lib/rocprofiler-sdk/hip/hip.cpp
- use recursion instead of fold expression due to clang-tidy errors (maximum nesting level exceeded)
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- fix merge
* Update lib/rocprofiler-sdk/callback_tracing.cpp
- fix merge
* Update bin/rocprofv3
- args for marker, HIP runtime, and HIP compiler tracing
* Update tests/apps/simple-transpose
- use roctx
* Update tests/rocprofv3/tracing
- validate marker API data
* Update lib/rocprofiler-sdk-tool
- support for HIP runtime, HIP compiler, marker API
* Update queue/queue_controller/registration/utility
- call hsa::queue_controller_fini() during finalization
- add a yield function to common/utility.hpp
- implements a thread yield + sleep
- add a sync function to Queue class
- add a iterate_queues member function to QueueController
- this is used to sync each queue during queue_controller_fini()
* Fix data races: queue/context/stable_vector
- stable_vector::emplace_back returns reference
- correlation id map uses stable_vector
- queue_info_session has explicit fields for queue id, hsa agent, rocp agent
- use hsa::get_table() in AsyncSignalHandler
- WriteInterceptor does not use TLS for context array
* Update lib/rocprofiler-sdk/hsa/hsa.*
- static object for API subtables
- accessors for API subtables
- google tests for HSA API subtables
* Update lib/rocprofiler-sdk/hsa/{queue,async_copy}.cpp
- use HSA subtable accessors
* Update rocprofiler_memcheck and CI workflow
- use GCC 13 instead of GCC 11 due to suspected false positives in thread sanitizer
- GCC 13 uses libtsan.so.2
* Update CI workflow
* Update lib/rocprofiler-sdk/counters/{metrics,counters}
- fix possibly dangling reference to a temporary from gcc-13
* Update thread-sanitizer-suppr.txt
- Ignore data races originating in hsa-runtime library
* Update cmake/rocprofiler_memcheck.cmake
- Deduce the sanitizer library to preload by compiling an application and extracting the linked sanitizer library
* Update tests/rocprofv3/tracing/CMakeLists.txt
- add csv files to REQUIRED_FILES and ATTACH_ON_FAIL in validate test
* Update lib/common/container/record_header_buffer.hpp
- fix data race identified by gcc v13 and libtsan.so.2
* Update hip API id, args, and def
- remove hipDrvGraphAddMemsetNode (not part of ROCm 6.0
* Update lib/common/container/record_header_buffer.hpp
- fix deadlock in save/read/reset
* Update source/docs/CMakeLists.txt
- remove COMMAND_ERROR_IS_FATAL ANY to allow for printing of stdout/stderr
* Update lib/rocprofiler-sdk/hip/details/ostream.hpp
- remove overloads for HIP_MEMSET_NODE_PARAMS
* Update docs/CMakeLists.txt
- use find_program for shell instead of hardcoded /bin/bash
[ROCm/rocprofiler-sdk commit:
|
||
|
|
3e038d871c |
cloning doxygen-awesome-css to external (#389)
[ROCm/rocprofiler-sdk commit:
|
||
|
|
e8c7e6bfba |
ROCTx Library (#360)
* Initial implementation of roctx library
* Update include/roctx/CMakeLists.txt
- fix installation
* Update cmake/rocprofiler_config_packaging.cmake
- add rocprofiler-sdk-roctx installer
* Update include/roctx/CMakeLists.txt
- include api_trace.h in installation
* Update include/roctx/api_trace.h
- add ROCTX_API_TABLE_VERSION_MAJOR define
- add ROCTX_API_TABLE_VERSION_STEP define
* Update lib/roctx/roctx.cpp
- static asserts for table size and struct member offsets
* Update external/CMakeLists.txt
- move BUILD_SHARED_LIBS to top
- disable libunwind for glog
* Update lib/roctx/CMakeLists.txt
- Update {BUILD,INSTALL}_RPATH
* Relocate include/roctx to include/rocprofiler-sdk/roctx
* Relocate lib/roctx to lib/rocprofiler-sdk-roctx
- change the name of the library from libroctx to librocprofiler-sdk-roctx
* Move lib/plugins to lib/rocprofiler-sdk-tool/plugins
- also change install export group
* Update lib/rocprofiler-sdk/CMakeLists.txt
- change rocprofiler-shared-library EXPORT group (rocprofiler-sdk-library-targets -> rocprofiler-sdk-targets)
* Update cmake/rocprofiler_utilities.cmake
- change install EXPORT group
- rocprofiler-sdk-library-targets -> rocprofiler-sdk-targets
* Update CMakeLists.txt
- set PACKAGE_NAME at high level
- include(rocprofiler_config_install_roctx)
* Update cmake/rocprofiler_config_install* and cmake/Templates/*.cmake.in
- added rocprofiler_config_install_roctx.cmake for installing roctx as a package
- reorganization of existing cmake/Templates/*-config.cmake.in files
- created new config.cmake.in and build-config.cmake.in for rocprofiler-sdk-roctx
* Relocate include/rocprofiler-sdk/roctx to include/rocprofiler-sdk-roctx
* Update rocprofiler_config_install_roctx.cmake
* Update lib/rocprofiler-sdk-roctx/roctx.cpp
- update include paths
* Update lib/rocprofiler-sdk-roctx/CMakeLists.txt
- change target name to have rocprofiler-sdk- prefix
- interface target_include_directories
- define export symbol
* source formatting (clang-format v11) (#361)
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com>
* Update include/rocprofiler-sdk/fwd.h
- fix doxygen markup for ROCPROFILER_STATUS_ERROR_CONTEXT_ERROR
* Update modulefile and setup-env.sh
* Update cmake/Templates/rocprofiler-sdk/config.cmake.in
- fix inclusion of rocprofiler-sdk-targets.cmake
* Update include/rocprofiler-sdk-roctx
- add types.h for typedefs
- add doxygen comments for roctx.h
- add roctxGetThreadId function
- roctxProfilerStart and roctxProfilerStop accept thread ID param
* Update lib/rocprofiler-sdk-roctx/roctx.cpp
- hsa_agent_t* -> hsa_agent_s*
* Update lib/rocprofiler-sdk-roctx/roctx.cpp
- support for roctxGetThreadId
- update signatures of roctxProfilerPause and roctxProfilerResume
* Update lib/rocprofiler-sdk-roctx/roctx.cpp
- Initialize logging with ROCTX_LOG_LEVEL
* Update include/rocprofiler-sdk-roctx/roctx.h
- remove ROCTX_NONNULL for ihipStream_t parameter in roctxNameHipStream because default stream is a nullptr
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
898cef06f5 |
Misc updates for distribution (#233)
* Adding tools support
* cmake formatting (cmake-format) (#227)
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com>
* Checking to do rebase
* Adding rocprofv2 script
* cmake formatting (cmake-format) (#229)
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com>
* Fixing build for the tool
* Removing the requirement for rocm_version
* Update rocprofiler_utilities.cmake
* C++ filesystem fixes
- added source/lib/common/filesystem.hpp
- support older compilers which have <experimental/filesystem> and do not have <filesystem>
- added samples/common/filesystem.hpp
- samples now depend on "common" library which provides the correct filesystem header
- renamed rocprofiler-stdcxxfs interface target to rocprofiler-cxx-filesystem
- support old LLVM in addition to GNU
- fix bin/rocprof/rocprof.cpp
- was using VLA
* Fix rocprofiler-drm include directories
- OpenSUSE only has include/libdrm/drm.h (no include/drm/drm.h)
* Tools fixes
* Fix for the tools
* Fix rocprofv2 script
* Fixing Filesystem Issues
* source formatting (clang-format v11) (#234)
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com>
* Vlaindic/pc sampling api update (#235)
* pcs: updating PC sampling API
* source formatting (clang-format v11) (#232)
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
---------
Co-authored-by: vlaindic <vladimir.indic@amd.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
* Vlaindic/pc sampling api update for ammar branch (#244)
*Updating the documentation inside pc_sampling.h
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
* pcs: use @p in front of params
* pcs: documenting struct fields updated
* Fixing PC Sampling Documentation issues
* Fixing PC Sampling Documentation
* Relocated tools directory to source/lib/rocprofiler-tool
* Fixes/updates to rocprofiler-tool
- updated CMake
- Fixed miscellaneous issues in the code (VLAs, etc.)
- Updated rocprofv2 to reflect some minor env variables changes in rocprofiler-tool
- Fixed clang-tidy warnings
* Update lib/rocprofiler-tool/CMakeLists.txt
- link to atomic library
* Add $ORIGIN/.. RUNPATH to rocprofiler-tool
* Adding readme file for tools
* Renaming the tools readme file
* Update ReadMe.md
* Update ReadMe.md
* Documentation updates
- overview and explanation of design and concepts
* Fix lib/rocprofiler-tool/README.md
- delete ReadMe.md
* Hacks for build
* Update Filesystem
* cmake formatting (cmake-format) (#248)
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com>
* source formatting (clang-format v11) (#249)
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com>
* source formatting (clang-format v11) (#250)
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com>
* Addressing review comments on the tool readme file
* Revert "Hacks for build"
This reverts commit d6688cb3d1226c46fc97e37ced889a5b0d180940.
* Fixes for GCC 7.5 compiler in OpenSUSE 15.4
* Update lib/rocprofiler-tool/CMakeLists.txt
- link to AQL profile library
* Fix lib/rocprofiler-tool/README.md
- fix markdown
* Fix lib/rocprofiler-tool
- fix usage of hsa_ven_amd_loader_query_host_address
* Fix unused variable warnings
- byproduct of variables only used in assert statements
* Update docs
- update about.md
- more "Important Changes" section here
- update tool_library_overview.md
- extend "Tool Library Design" section
- write "Tool Initialization" section
- write "Tool Finalization" section
* Add ghc::filesystem submodule
* Implement usage of ghc::filesystem
* Add ROCPROFILER_BUILD_GHC_FS option
- option to use external/filesystem (ghc)
* Update samples/counter-collection
- compile flags
- common library
- fixes for warnings
* Update tests/kernel-tracing/CMakeLists.txt
- change install location of kernel-tracing-test-tool and install rpath
* Update samples/common/CMakeLists.txt
- compile features requiring C++17
* Update lib/rocprofiler-tool/tool.cpp
- remove include <filesystem>
- comment out unused variable
- remove unused functions
- move some functions into anonymous namespace
---------
Co-authored-by: Sriraksha Nagaraj <Sriraksha.Nagaraj@amd.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com>
Co-authored-by: gobhardw <gopesh.bhardwaj@amd.com>
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com>
Co-authored-by: vlaindic <vladimir.indic@amd.com>
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com>
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
2918251d9c |
Integration Testing (#211)
* Add external/cereal submodule
- used for integration testing
* Update lib/common/container/small_vector.hpp
- documentation notes
* Update tests/apps
- update transpose app (fix build)
- add reproducible-runtime app
* Update include/rocprofiler/fwd.h
- rocprofiler_service_callback_phase_t -> rocprofiler_callback_phase_t
* Update PTL submodule
- fix for task group: submitting tasks from different thread
* Update lib/rocprofiler/hsa/queue.cpp
- CHECK_NOTNULL(_buffer)
* Update lib/rocprofiler/hsa/hsa.cpp
- use buffer::get_buffer instead of manually looking for buffer
* Update lib/rocprofiler/internal_threading.cpp
- use buffer::get_buffer instead of manually looking for buffer
* Update lib/rocprofiler/buffer.cpp
- offset the buffer id
- properly handle rocprofiler_create_buffer reusing rocprofiler_buffer_id_t on a different context
* Update tests
- kernel tracing library for integration testing
* Add cereal submodule
* Update lib/rocprofiler/registration.*
- OnUnload
- Support ROCP_TOOL_LIBRARIES for python usage
- improve finalize function
- remove calling hsa_shut_down in finalize function
* Update lib/rocprofiler/buffer.*
- allocate_buffer sets the buffer id value
- expose (internally) is_valid_buffer_id
- update test
* Update tests/kernel-tracing
- installation
- better organization of JSON groups
- improved messaging
* Update lib/rocprofiler/registration.cpp
- add workaround for hsa-runtime supporting rocprofiler-register
* Update tests/kernel-tracing/kernel-tracing.cpp
- fix memory leaks
* cereal support for minimal JSON
- update cereal submodule to rocprofiler branch
- change REPO_BRANCH in rocprofiler_checkout_git_submodule for cereal
- update tests/kernel-tracing/kernel-tracing.cpp
- use minimal json
- slight tweak putting giving contexts name in storing name + context pointer pair in map
* Update tests/kernel-tracing/kernel-tracing.cpp
- support runtime selection of contexts via KERNEL_TRACING_CONTEXTS environment variable
* Update tests
- tests/CMakeLists.txt
- find_package(Python3 REQUIRED)
- tests/kernel-tracing
- pytest validation
* Update CI workflow
- install pytest
- add checks for test labels
* Update scripts/run-ci.py
- change --coverage options
- replace 'unittests' with 'tests'
- replace test label regex '-L unittests' with '-L tests'
* Update requirements.txt
- this is now an empty file since none of the packages are required for this repo
[ROCm/rocprofiler-sdk commit:
|
||
|
|
cfcfd280d0 |
rocprofiler library unit tests (#81)
* Update CI and linting workflows
- delete linting workflow
- compile default CI job with clang-tidy
- split out code coverage matrix entry to separate job
- code coverage job runs code coverage 3x
- once for total code coverage
- once for unittests code coverage
- once for samples code coverage
* Update PTL submodule
- improves handling of when thread pool is destroyed in atexit handler
* Update lib/rocprofiler/buffer
- buffer::instance::get_internal_buffer()
- allocate_buffer invokes internal_threading::initialize() on first entry
- update flush routine
- if wait is false, does not wait for task group to finish syncing
- checks for callback pointer
* Update lib/rocprofiler/internal_threading
- modifications to handle destruction of statics before atexit handler is invoked
* Update lib/rocprofiler/registration.cpp
- reorder atexit call in initialize()
- protect finalize from executing more than once
* Add unittests for rocprofiler buffer
* Update CI workflow
- disable fail-fast for sanitizers
- move AddressSanitizer job to top of the list
* Update lib/rocprofiler/tests/buffer/CMakeLists.txt
- do not set memcheck LD_PRELOAD for rocprofiler-lib-buffer-tests
* Update lib/rocprofiler/registration.{hpp,cpp}
- only invoke client finalizers if initialized
- remove invoke_client_initializer
- move invoke_client functions to anonymous namespace (no declaration in header)
- set fini status in finalize
* Update scripts/thread-sanitizer-suppr.txt
- suppress false positive for double mutex lock in external/ptl/source/PTL/TaskGroup.hh
* Restructure lib/rocprofiler/tests
* Update lib/common
- add utility.cpp
- move read_command_line to utility.{hpp,cpp}
- was formerly in config.cpp
* Update lib/rocprofiler
- checks for init status return configuration locked if status is not greater than -1
- in other words, this prevents calling these functions directly (which was possible when check was for greater than 0
* Update lib/rocprofiler/context/context.{hpp,cpp}
- provide deactivate_client_contexts and deregister_client_contexts
- these functions are used when the tool fails to configure
* Update lib/rocprofiler/registration.{hpp,cpp}
- internal "public" get_client_offet()
- client ids are offset by a random value to avoid default values behaving correctly
* Update lib/rocprofiler/tests
- fix rocprofiler_lib.registration_lambda_no_result
* Update lib/rocprofiler/tests
- fix rocprofiler_lib.registration_lambda_with_result
* Update lib/rocprofiler/tests
- remove deep bind from rocprofiler_lib.registration_lambda_with_result
* Update lib/rocprofiler/tests
- use RTLD_NOW when dlopen'ing in rocprofiler_lib.registration_lambda_with_result
* Update rocprofiler registration tests
- split registration tests into separate exe that links to shared library
* Formatting
* Update CI workflow
- always checkout submodules via actions/checkout
* Update lib/rocprofiler/buffer.{hpp,cpp}
- fix issue with buffer flushing not working when only called once
* Update rocprofiler lib registration test
- test for buffered callback
* Update include/rocprofiler/rocprofiler.h
- include internal_threading.h header
* Update rocprofiler lib registration test
- add in internal threading for buffered test
[ROCm/rocprofiler-sdk commit:
|
||
|
|
218666ebe9 |
Linting workflow and clang-tidy fixes (#72)
* Update source/{bin,lib/{common,rocprofiler}}/CMakeLists.txt
- activate clang-tidy
* Update PTL submodule
- clang-tidy fixes
* Update .clang-tidy
- ignore performance-enum-size
* Update CI workflow
- update paths-ignore
* Add linting workflow
- runs clang-tidy
* Update cmake/rocprofiler_build_settings.cmake
- minor modification of flags not recognized by clang-tidy
* Update samples (all of them)
- rocprofiler-samples-build-flags target with -W -Wall -Wextra -Wshadow [-Werror]
- Link samples targets to rocprofiler-samples-build-flags if target exists
- Remove unused variable in main.cpp of api_{buffered,callback}_tracing
- Update samples/pc_sampling
- single-user-multiple-agents.cpp ends up with unused function find_first_gpu_agent() error
- change find_first_gpu_agent to return std::optional<rocprofiler_agent_t>
- change usage after call to find_first_gpu_agent()
- use find_first_gpu_agent() in single-user-multiple-agents.cpp to determine if there are any GPUs
* Update linting workflow
- fix path to run-ci.py script
* Update linting workflow
- install cmake
* Update common/container/stable_vector.hpp
- fix clang-tidy warning for readability-container-size-empty
[ROCm/rocprofiler-sdk commit:
|
||
|
|
98d71852b7 |
Documentation, sanitizers, and PTL submodule (#71)
* Update scripts/thread-sanitizer-suppr.txt
- ignore data race occasionally triggered by libamdhip64.so
* Update external/CMakeLists.txt
- configure PTL to use locks in task queues
* Update PTL submodule
- tweal to task queues to prevent data race from std::list next pointer
* Add scripts/setup-sanitizer-env.sh
- bash script that exports the {ASAN,LSAN,TSAN}_OPTIONS used by run-ci.py
* Update include/rocprofiler (doxygen)
- fix doxygen grouping
* Update docs workflow
- change concurrency group to be specific to workflow + ref
- this prevents separate PRs triggering this workflow from cancelling each other
[ROCm/rocprofiler-sdk commit:
|
||
|
|
18da0bd49d |
Contexts, tracing, include reorg, registration, thread-pool (#65)
* Update scripts/update-doxygen.sh
- ensure build-docs folder exists
* Update scripts/run-ci.py
- exclude files in details subdirectory from code coverage
* Update scripts/thread-sanitizer-suppr.txt
- exclude races in glog
* Update docs/rocprofiler.dox.in
- exclude defines in include/rocprofiler/defines.h from doxygen
- Tweak EXCLUDE_PATTERNS and EXAMPLE_PATTERNS
* Update docs workflow
- trigger workflow whenever there is a change to the public headers (which may be doxygen comments)
* Update include/rocprofiler (reorg and overhaul)
- rocprofiler_status_t additions
- CONTEXT_NOT_FOUND
- CONTEXT_ERROR
- INVALID_CONTEXT_ID
- INVALID_CONTEXT
- BUFFER_BUSY
- rocprofiler_context_is_active func
- rocprofiler_context_is_valid func
- rocprofiler_service_callback_tracing_kind_t update
- remove ROCPROFILER_SERVICE_CALLBACK_TRACING_HELPER_THREAD
- Remove rocprofiler_tracing_helper_thread_operation_t
- Remove rocprofiler_helper_thread_callback_tracer_data_t
- Added rocprofiler_internal_thread_library_t
- Added rocprofiler_at_internal_thread_create
- split rocprofiler.h into several smaller headers
- reworked rocprofiler_status_t values
- added doxygen comments for enums
- replaced rocprofiler_trace_record_operation_kind_t with rocprofiler_trace_operation_t
- use @ instead of / in doxygen comment in rocprofiler_plugin.h
- fix ref to ROCPROFILER_SERVICE_CALLBACK_TRACING_MARKER_API
- end group in fwd.h
- remove PROFILE_COUNTING group in dispatch_profile.h
- remove premature group close in callback_tracing.h
- hsa.h: remove rocprofiler_hsa_trace_data_t
- fwd.h: remove rocprofiler_tracer_callback_data_t
- rename rocprofiler_correlation_id_t.handle to rocprofiler_correlation_id_t.id (consistency)
- fwd.h: add rocprofiler_callback_tracing_record_t
- callback_tracing.h: update rocprofiler_hsa_api_callback_tracer_data_t
- callback_tracing.h: add size fields
- simplify rocprofiler_tracer_callback_t
- removed ROCPROFILER_NONNULL from rocprofiler_get_version
- added rocprofiler_get_timestamp
- ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED in rocprofiler_status_t
- add ROCPROFILER_STATUS_ERROR_THREAD_NOT_FOUND rocprofiler_status_t
- add rocprofiler_buffer_category_t
- rocprofiler_trace_operation_t -> rocprofiler_tracing_operation_t
- rocprofiler_user_data_t union
- tweak rocprofiler_callback_tracing_record_t
- make external_correlation_id non-pointer
- add rocprofiler_user_data_t data field
- tweak rocprofiler_record_header_t
- instead of single uint64_t kind field, have union for category + kind (two u32) with u64 hash
- API extensions for kind id <-> kind string
- API extensions for operation id <-> operation string
- rocprofiler_callback_trace_kind_name_cb_t
- rocprofiler_callback_trace_operation_name_cb_t
- rocprofiler_iterate_callback_trace_kind_names
- rocprofiler_iterate_callback_trace_kind_operation_names
- modify rocprofiler_hsa_api_callback_tracer_data_t data members (remove pointers)
- add rocprofiler_callback_trace_operation_args_cb_t function pointer typedef
- add rocprofiler_iterate_callback_trace_operation_args function
- fixed inconsistent use of *_trace_* vs. *_tracing_* (opting for tracing)
- removed rocprofiler_query_callback_trace_kind_name
- removed rocprofiler_query_callback_kind_operation_name
- Add include/rocprofiler/registration.h
- header dedicated to registering a tool/client with rocprofiler
- this header is not intended to be included by rocprofiler.h
- rocprofiler_client_id_t
- identifier for client tool
- rocprofiler_client_finalize_t
- function pointer prototype for tool-initiated finalization
- rocprofiler_tool_initialize_t
- function pointer prototype for tool initialization (i.e. configuration)
- rocprofiler_tool_finalize_t
- function pointer prototype for tool finalization
- rocprofiler_tool_configure_result_t
- struct returned by tool/client to rocprofiler
- rocprofiler_is_initialized
- function for querying whether tool-induced initialization is possible
- rocprofiler_is_finalized
- function for querying whether rocprofiler has been finalized
- rocprofiler_configure prototype
- this is the function tools implement
- prototype is always marked as having default visibility
- no implementation in rocprofiler
- added typedef for rocprofiler_configure function pointer
- added rocprofiler_force_configure to explicitly invoke rocprofiler_configure instead of relying on lazy init
- made callback typedef names more consistent (_cb_t suffix)
- typedef for rocprofiler_internal_thread_library_cb_t function pointer
- added rocprofiler_at_internal_thread_create function
- added rocprofiler_callback_thread_t struct
- added rocprofiler_create_callback_thread function
- added rocprofiler_assign_callback_thread function
- removed rocprofiler_buffer_tracing_record_header_t in favor of kind and correlation id in each record type
- added rocprofiler_buffer_tracing_kind_name_cb_t typedef
- added rocprofiler_buffer_tracing_operation_name_cb_t typedef
- added rocprofiler_iterate_buffer_tracing_kind_names function
- added rocprofiler_iterate_buffer_tracing_kind_operation_names function
- removed rocprofiler_query_buffer_trace_kind_name function
- removed rocprofiler_query_buffer_kind_operation_name function
* Update lib/common/container/stable_vector.hpp
- include limits header
- reserve_size struct
- overload stable_vector constructor to support reserving as part of construction
* Update lib/common/container/record_header_buffer.{hpp,cpp}
- add emplace member function accepting category and kind (two u32 variables) instead of one u64 kind
- use std::shared_mutex to prevent data-race when reading m_headers
- record_header_buffer is now multiple writer, single reader
- add read_lock member function (shared)
- add read_unlock member function (shared)
- lock member function gets exclusive lock
- unlock member function releases exclusive lock
* Rename "config" to "context" + restructure + implement
- Restructure config files + license
- move config files into lib/rocprofiler/config subfolder
- rename some files
- add license to some files which were missing it
- Rename config/helpers.hpp
- rename to allocator.hpp
- remove get_domain_max_ops
- Create config/domain.{hpp,cpp}
- structures for handling tracing domains and ops
- Update config/config.{hpp,cpp}
- buffer_instance struct
- callback_tracing_service struct
- buffer_tracing_service struct
- config struct
- allocate_{config,buffer} func
- {validate,start,stop}_config funcs
- get_registered_configs func
- get_active_configs func
- get_buffers func
- Update rocprofiler.cpp
- Implement rocprofiler_create_context
- Implement rocprofiler_start_context
- Implement rocprofiler_stop_context
- Implement rocprofiler_context_is_active
- Implement rocprofiler_context_is_valid
- Implement rocprofiler_flush_buffer
- Implement rocprofiler_destroy_buffer
- Implement rocprofiler_create_buffer
- Update lib/rocprofiler/hsa
- use rocprofiler_tracer_activity_domain_t instead of rocprofiler_tracer_activity_domain_t
- remove ROCPROFILER_TRACER_ACTIVITY_DOMAIN_HSA_API fromHSA_API_INFO_DEFINITION_* macros
- Update lib/rocprofiler/context/domain.*
- fixes for domain_info (i.e. use correct enums)
- update rocprofiler_status_t codes
- fix template instantiations
- Update lib/rocprofiler/context/context.*
- use rocprofiler_service_callback_tracing_kind_t instead of rocprofiler_tracer_activity_domain_t
- rename correlation_context to correlation_tracing_service
- fix domains in callback_tracing_service and buffer_tracing_service
- unique_ptr for callback_tracer and buffered_tracer in context
- Update lib/rocprofiler/rocprofiler.cpp
- implement rocprofiler_configure_callback_tracing_service
- Update lib/rocprofiler/hsa/ostream.hpp
- include rocprofiler.h instead of tracer.hpp
- Update lib/rocprofiler/hsa
- migration to use rocprofiler_hsa_api_callback_tracer_data_t instead of rocprofiler_hsa_trace_data_t
- restructure hsa_api_impl<Idx>
- remove phase_enter and phase_exit
- add set_data_args (partial replacement for phase_enter)
- functor handles the contexts
- Update lib/rocprofiler/rocprofiler.cpp
- implement rocprofiler_get_version
- Update lib/rocprofiler/hsa/hsa.{hpp,cpp}
- remove hsa_api_ prefix for functions already in hsa namespace
- Update lib/rocprofiler/context/context.{hpp,cpp}
- add client_idx to context struct (tool identifier)
- add push_client function to set client_idx before context is allocated
- add pop_client function to remove client identifier from future context creations
- implemented {registered,active}_contexts and buffers to use new container::reserve_size overload to stable_vector
- fix implementation of start_context
- fix implementation of stop_context
- Update lib/rocprofiler/rocprofiler.cpp
- prevent context creation, buffer creation, pc sampling config, etc. after initialization
- add nullptr checks to rocprofiler_context_is_valid
- fix rocprofiler_configure_callback_tracing_service
- was checking size of buffers, not registered context
- implement rocprofiler_iterate_callback_trace_kind_names
- implement rocprofiler_iterate_callback_trace_kind_operation_names
- Update lib/rocprofiler/CMakeLists.txt
- add registration.{hpp,cpp} to rocprofiler-library target sources
- Update lib/rocprofiler/hsa/utils.hpp
- fix using fmt::formt with const char* strings
- remove join functions (no longer used)
- Update lib/rocprofiler/hsa/hsa.{hpp,cpp}
- remove args_string function
- remove named_args_string function
- update iterate_args function
- change callback type
- accept user data
- rework the hsa_api_impl<Idx>::functor function
- save the rocprofiler_callback_tracing_record_t between callbacks
- update update_table function
- check buffered_tracer domains
- remove comments
- Update lib/rocprofiler/hsa/defines.hpp
- remove MEMBER_<N> macros
- add ADDR_MEMBER_<N> macros
- remove doxygen comments for GET_MEMBER_FIELDS
- add GET_ADDR_MEMBER_FIELDS
- update HSA_API_INFO_DEFINITION_{0,V}
- rename domain_idx to callback_domain_idx
- add buffered_domain_idx
- add as_arg_addr function
- Update lib/rocprofiler/rocprofiler.cpp
- implement rocprofiler_iterate_callback_trace_operation_args
- Remove lib/rocprofiler/tracing.{hpp,cpp} and lib/rocprofiler/CMakeLists.txt
- unused
- Update lib/rocprofiler/hsa/hsa.{hpp,cpp}
- support buffered tracing in hsa_api_impl<Idx>::functor
- rocprofiler_callback_trace_operation_args_cb_t -> rocprofiler_callback_tracing_operation_args_cb_t
- i.e. trace -> tracing
- Update lib/rocprofiler/context/context.{hpp,cpp}
- removed buffer_instance struct
- removed allocate_buffer function
- removed get_buffers function
- changed buffer_tracing_service::buffer_array_t
- Update lib/rocprofiler/hsa: hsa.cpp, ostream.hpp, details folder
- move ostream.hpp into details folder to prevent from contributing to code coverage
- update cmake build system for new directory
* Add lib/rocprofiler/registration.{hpp,cpp}
- implements rocprofiler_set_api_table (called by rocprofiler-register)
- miscellaneous functions for client configure/initialize/finalize
- functions for querying the init/fini status
- relocated OnLoad HSA workaround to this file
- at present, this is used to workaround ROCr not having rocprofiler-register integration yet
- implement rocprofiler_force_configure function
- implement rocprofiler_is_initialized function
- implement rocprofiler_is_finalized function
- ensure configure functions only invoked once
- ensure internal thread creation notification functions are invoked
- get_status is pair of atomics
- fix heap-use-after-free in init_logging
- update finalize
- invoke hsa_shut_down
- set all active contexts to null pointers
* Add lib/rocprofiler/buffer_tracing.cpp
- contains implementations of buffer_tracing (i.e. rocprofiler/buffer_tracing.h)
- previous implementation may have been moved out of lib/rocprofiler/rocprofiler.cpp
* Add lib/rocprofiler/buffer.{hpp,cpp}
- contains implementations of buffer (i.e. rocprofiler/buffer.h) and misc internal access functions
- previous implementation may have been moved out of lib/rocprofiler/rocprofiler.cpp and lib/rocprofiler/context/context.{hpp,cpp}
* Add lib/rocprofiler/callback_tracing.cpp
- contains implementations of callback_tracing (i.e. rocprofiler/callback_tracing.h)
- previous implementation may have been moved out of lib/rocprofiler/rocprofiler.cpp
* Add lib/rocprofiler/context.cpp
- contains implementations of context public API functions (i.e. rocprofiler/context.h)
- previous implementation may have been moved out of lib/rocprofiler/rocprofiler.cpp
* Add lib/rocprofiler/internal_threading.{hpp,cpp}
- contains implementations of internal_threading (i.e. rocprofiler/internal_threading.h)
- also contains implementations of internal access functions
- update finalize function
- join all task groups and destroy all thread pools first, then reset unique_ptr
* Update lib/rocprofiler/rocprofiler.cpp
- rocprofiler_get_version returns status
- implement rocprofiler_get_timestamp
- remove misc implementations that were split into other files
* Update lib/rocprofiler/CMakeLists.txt
- compile new implementation files
- buffer.cpp
- buffer_tracing.cpp
- callback_tracing.cpp
- context.cpp
- internal_threading.cpp
* Update lib/tests/buffering/buffering-*.cpp
- update to reflect changes to rocprofiler_record_header_t
* Update CMakeLists.txt
- increase minimum cmake version to 3.21 which added HIP support as a language
* Add samples/apps/transpose
- simple HIP application for testing
* Add samples/api_callback_tracing
- HIP application and tool library
- This effectively demos how to setup HSA API tracing
- For each function called in tool, it stores the func/file/line and prints it during finalization
- client.hpp and client.cpp are the tool library
- Implement use of rocprofiler_iterate_callback_trace_operation_args
- add demo of using rocprofiler_get_version
- add_test
- remove PASS_REGULAR_EXPRESSION
- causing false passes during memcheck
- add ROCPROFILER_MEMCHECK_PRELOAD_ENV to environment
- check if rocprofiler is initialized before stopping context
* Add samples/api_buffered_tracing
- Sample demonstrating tracing the HSA API via buffering
- demo rocprofiler_record_header_compute_hash
- throw exceptions for unexpected buffer data
- add_test
- remove PASS_REGULAR_EXPRESSION
- causing false passes during memcheck
- add ROCPROFILER_MEMCHECK_PRELOAD_ENV to environment
* Update samples/CMakeLists.txt
- add subdirectory for api_callback_tracing
- add subdirectory api_buffered_tracing
* Update samples/pc_sampling/common.h
- fix processing of headers
* Update lib/rocprofiler/hsa/details/ostream.hpp
- fix data race on HSA_depth_max_cnt and recursion
- HSA_depth_max_cnt and recursion is now thread-local static instead of global static
- replace std::string usage with std::string_view
* Actions update
- add dependabot.yml
- use actions/checkout@v4
- install latest libasan and libtsan in sanitizer containers
* Add PTL (Parallel Tasking Library) submodule
[ROCm/rocprofiler-sdk commit:
|
||
|
|
769e1de7ab |
Fixing Glog to use Gtest built internally (#56)
[ROCm/rocprofiler-sdk commit:
|
||
|
|
496c95862b |
Docs skeleton (#51)
* Add doxygen-awesome-css submodule
* Basic documentation files
- conf.py: run by sphinx
- about.md: info about rocprofiler
- features.md: overview of features
- installation.md: build/test/install instructions
- index.md: sets up main page
- generate-doxyfile.cmake: generates rocprofiler.dox with rocprofiler-specific info
- environment.yml: conda environment
- Makefile: sphinx makefile
- README.md: build instructions
- rocprofiler.dox.in: doxygen template
- .gitignore: ignores generated files
- .nojekyll: prevents GitHub Pages from using Jekyll for deployment of pages
* Documentation scripts
- scripts for doing common sequences of commands for building docs
- update-docs.sh: builds the docs and installs the docs if /docs directory is present
- update-doxygen.sh: quick script for generating doxygen
* Workflow for docs
- step for building docs
- step for deploying docs
* Update doxygen comments in include/rocprofiler
- rocprofiler.h / rocprofiler_plugins.h
- fixed non-existent global references in doxygen comments
- fixed parameter names that were incorrect or not updated
* Update docs workflow
- only deploy docs when on main branch
[ROCm/rocprofiler-sdk commit:
|
||
|
|
d4a977349c |
Adding Workflow for building and testing (#21)
* Adding Workflow for building and testing
* Adding run-ci script
* Fixing Project name
* Fixing Github Action
* Fixing Git Version
* Adding CMake installation
* Adding Gtest installation
* Fixing CDash Project name
* Correcting the AmdExtTable
* Fixing issues caused by submodules
* Enable Coverage
* Update tests/CMakeLists.txt
- add placeholder test printing cmake version
* Update CI workflow
- remove CMAKE_PREFIX_PATH and LD_RUNPATH_FLAG env vars
- rename Mi200-Ubuntu22-Doc-Packages job to mi200-ubuntu
- reorder jobs
- remove CMAKE_MODULE_PATH, CMAKE_SHARED_LINKER_FLAGS, CMAKE_INSTALL_RPATH, CMAKE_INSTALL_RPATH_USE_LINK_PATH, CPACK_PACKAGING_INSTALL_PREFIX, CPACK_{OBJCOPY,READELF,STRIP,OBJDUMP}_EXECUTABLE
- Remove build docs step
* Update cmake
- fix code coverage build
* Update submodules
- use rocprofiler_checkout_git_submodule for googletest
---------
Co-authored-by: Jonathan Madsen <jrmadsen@users.noreply.github.com>
[ROCm/rocprofiler-sdk commit:
|
||
|
|
2e0ede4761 |
Initial skeleton (revised) (#16)
* [0/N] git submodules
* [1/N] Update cmake, gitignore, external
- clang-tidy file
- update .gitignore
- update main CMakeLists.txt
- update external/CMakeLists.txt
- update rocprofiler_config_interfaces.cmake
- update rocprofiler_formatting.cmake
- update rocprofiler_interfaces.cmake
- update rocprofiler_linting.cmake
- update rocprofiler_options.cmake
- update rocprofiler_utilities.cmake
* [2/N] Update rocprofiler/config.h
- update to work with new rocprofiler.h
* [3/N] Update source/lib/rocprofiler/hsa
- hsa-types.h: static asserts
- hsa.cpp: copyTables scope
- hsa.gen.cpp: ACTIVITY_DOMAIN_HSA_API -> ROCPROFILER_TRACER_ACTIVITY_DOMAIN_HSA_API
- rename some files
- add rocprofiler_ prefix to types and enums
- HSA_API_TABLE_LOOKUP_DEFINITION macro
- get_saved_table() -> get_table()
* [4/N] Update source/lib/common
- CMake: change target_link_libraries
- defines.hpp: remove ppdefs defined in include/rocprofiler/defines.h
* [5/N] Update source/lib/rocprofiler
- updates due to changes in rocprofiler.h
- rocprofiler_config.cpp: remove unions which are now defined in include/rocprofiler
- CMakeLists.txt: rocprofiler.cpp and public hsa-runtime and hip libraries
- rocprofiler.cpp: dummy implementations for:
- rocprofiler_query_available_agents
- rocprofiler_create_context
- rocprofiler_start_context
- rocprofiler_stop_context
- rocprofiler_flush_buffer
- rocprofiler_destroy_buffer
* [6/N] Update license
- replace stale LBNL license
* [7/N] CMake format
[ROCm/rocprofiler-sdk commit:
|
||
|
|
ccac2ee157 |
Initial skeleton (#1)
* googletest submodule
* cmake folder
* misc root files
- clang-format
- cmake-format
- pyproject.toml
- requirements.txt
- VERSION
* workflows
* RPM files
* external folder
* samples folder
* tests root folder
* source/bin folder
* source/include folder
* source/lib/common folder
* source/lib/plugins folder
* source/lib/tests folder
- for library unit tests
* source/lib/rocprofiler folder
- rocprofiler library implementation
* Remaining cmake files
* lib/common/containers
- ring_buffer
- atomic_ring_buffer
- stable_vector
- static_vector
* Update .gitignore
* Update hsa.hpp
- include cstdint
* cmake formatting (cmake-format) (#2)
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com>
* Remove linting.yml
- uses self-hosted runners
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[ROCm/rocprofiler-sdk commit:
|