-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rocprofv3: refactor and reorganize rocprofiler-sdk-tool library (#1138)
* Add rocprofv3-multi-node.md to source/lib/rocprofiler-sdk-tool * Initial source re-organization - create "output" static library * Update include/rocprofiler-sdk/cxx/serialization.hpp - add GPR count fields to kernel symbol serialization * Add source/scripts/generate-rocpd.py - reads one or more JSON output files from rocprofv3 and writes rocpd SQLite3 database - Note: preliminary implementation * More reorganization b/t lib/rocprofiler-sdk-tool and lib/output * Updates to generate-rocpd.py - add SQL views - option: --absolute-timestamps -> --normalize-timestamps - option: --generic-markers - misc fixes with regards to getting the views working - support marker names * Update generate-rocpd.py - Add --marker-mode option * Update generate-rocpd.py - Improve debugging of bad bulk SQLite statements * Update rocprofv3-multi-node.md - cleanup of proposed SQL schema * lib/output/format_path.{hpp,cpp} - rename format to format_path (in config.hpp and config.cpp) - move format_path functionality to format_path.{hpp,cpp} * Rework lib/output/tmp_file_buffer.{hpp,cpp} * Update output_key.cpp - support %cwd%, %launch_date% * Rework lib/output/buffered_output.hpp * Support csv_output_file constructed via domain_type * Update lib/output/domain_type.{hpp,cpp} - get_domain_trace_file_name - get_domain_stats_file_name * Update lib/rocprofiler-sdk-tool/tool.cpp - tweak headers * Update lib/output/generate*.cpp - remove include of helpers.hpp - CSV uses domain_type for filenames * Update samples/counter_collection/per_dev_serialization.cpp - make wait_on volatile * Remove tool_table from lib/output and lib/rocprofiler-sdk-tool - Also split various structs into their own files - lib/output/agent_info - lib/output/metadata - lib/output/kernel_symbol_info - lib/output/counter_info - Implemented rocprofiler::tool::metadata * Optimize rocprofiler_tool_counter_collection_record_t - reduce the size of the struct from 24784 bytes to 8376 bytes * Introduced output_config - split subset of config (from tools library) into output_config to be able to configure the output generating functions separately from the tool library - this is a significant step towards the output generating functions not relying on static global memory * Stream chunks of data into output instead of loading all info memory * Remove duplicate group_segment_size in rocprofiler_kernel_dispatch_info_t serialization * Adding Q&A to rocprofv3-multi-node.md * Remove all remaining include lib/rocprofiler-sdk-tool from lib/output - migrated a fair amount of code from lib/rocprofiler-sdk-tool/helper.hpp to lib/output * Update Q&A of rocprofv3-multi-node.md * Fix minor compilation errors + minor cleanup * Update hsa/async_copy.cpp - when ROCPROFILER_CI_STRICT_TIMESTAMPS > 0, reduce the active_signal sync wait time * Update profiling_time.hpp - fix log messages for when start/end time is less/greater than enqueue/current CPU time * Fix generate_stats for tool_counter_record_t * Dictionary optimization for generate-rocpd.py --------- Co-authored-by: SrirakshaNag <[email protected]>
- Loading branch information
1 parent
98858b6
commit 5eb8c26
Showing
59 changed files
with
5,524 additions
and
3,294 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# | ||
# Tool library used by rocprofiler | ||
# | ||
|
||
rocprofiler_activate_clang_tidy() | ||
|
||
set(TOOL_OUTPUT_HEADERS | ||
agent_info.hpp | ||
buffered_output.hpp | ||
counter_info.hpp | ||
csv.hpp | ||
csv_output_file.hpp | ||
domain_type.hpp | ||
format_path.hpp | ||
generateCSV.hpp | ||
generateJSON.hpp | ||
generateOTF2.hpp | ||
generatePerfetto.hpp | ||
generateStats.hpp | ||
generator.hpp | ||
kernel_symbol_info.hpp | ||
metadata.hpp | ||
output_config.hpp | ||
output_key.hpp | ||
output_stream.hpp | ||
statistics.hpp | ||
timestamps.hpp | ||
tmp_file_buffer.hpp | ||
tmp_file.hpp) | ||
|
||
set(TOOL_OUTPUT_SOURCES | ||
csv_output_file.cpp | ||
domain_type.cpp | ||
format_path.cpp | ||
generateCSV.cpp | ||
generateJSON.cpp | ||
generateOTF2.cpp | ||
generatePerfetto.cpp | ||
generateStats.cpp | ||
metadata.cpp | ||
output_config.cpp | ||
output_key.cpp | ||
output_stream.cpp | ||
statistics.cpp | ||
tmp_file_buffer.cpp | ||
tmp_file.cpp) | ||
|
||
add_library(rocprofiler-sdk-output-library STATIC) | ||
add_library(rocprofiler-sdk::rocprofiler-sdk-output-library ALIAS | ||
rocprofiler-sdk-output-library) | ||
target_sources(rocprofiler-sdk-output-library PRIVATE ${TOOL_OUTPUT_SOURCES} | ||
${TOOL_OUTPUT_HEADERS}) | ||
target_link_libraries( | ||
rocprofiler-sdk-output-library | ||
PRIVATE rocprofiler-sdk::rocprofiler-sdk-headers | ||
rocprofiler-sdk::rocprofiler-sdk-build-flags | ||
rocprofiler-sdk::rocprofiler-sdk-memcheck | ||
rocprofiler-sdk::rocprofiler-sdk-common-library | ||
rocprofiler-sdk::rocprofiler-sdk-cereal | ||
rocprofiler-sdk::rocprofiler-sdk-perfetto | ||
rocprofiler-sdk::rocprofiler-sdk-otf2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.