Mark Meserve
8760fb4976
attach: Formalize ROCAttach API ( #1653 )
...
* attach: Formalize ROCAttach API
- Make ROCAttach public with public headers
- Change detach to take a PID
- attach and detach are now reentrant
- Cleanup of states and signal handling in ptrace session
- Fixes mixed up definition of ROCPROF_ATTACH_TOOL_LIBRARY
- ROCPROF_ATTACH_TOOL_LIBRARY now always means the tool library loaded by the attachment target
- ROCPROF_ATTACH_LIBRARY refers to the library used to perform attachment
- Add direct call of rocprof-attach
- Fix python library call of rocprof-attach
- Function now named attach(), changed from main()
* attach: rocprof-compute ROCAttach updates
- Update to new library names
- Correct usage of C lib detach
* attach: add test for rocattach
- Disable ASan, TSan, and UBSan for the new parallel-attach test
- Lower log level for LSan tests, existing behavior from other tests
---------
Co-authored-by: Ammar ELWazir <aelwazir@amd.com >
2026-01-15 14:32:14 -06:00
Jonathan R. Madsen
a2288eb50b
[rocprofiler-sdk] Install unit tests and helper functions for integration tests ( #921 )
...
* [rocprofiler-sdk] Install unit tests and helper functions for integration tests
* Fix rocprofiler-sdk-tests-target export
* Fix handling of cmake policy CMP0174
* Remove -vv from new pytest.ini files
* add unit tests and integration tests.
* add path to ci workflow.
* misc. fixes.
* pc sampling tests.
* bug fixes.
* pc sampling tests fix.
* misc.
* Update CMakeLists.txt
* Update rocprofiler_config_install_tests.cmake, correct license name
* fix units tests install issues.
* fix counters_def file path.
* fix bug, arg shifting.
* vendor pytest-cmake.
* cmake config fix. missing endfunction()
* disable tests, 1.rocprofv3-trace-hip-libs. 2.kernel-tracing. 3.external_correlation 4.rocpd.
* disable buffered-tracing test and remove pytest-cmake from requirements.txt.
* disable hip-graph-tracing test.
* fix building standalone tests to load rocprofiler-sdk cmake package first and then find rocprofiler_sdk_pytest module.
* addressed comments: 1.add local bin path to code cov workflow. 2.add to cmake prefix path local bin. 3.use ROCPROFILER_MEMCHECK_PRELOAD_ENV_VALUE 4.misc. fix
* enabled back tests api_buffered, external_correlation_id, hip-graph, kernel-tracing, rocpd, tracing-hip-in-libraries. and misc fixes(formating, extra fixtures for agent-index tests.)
* cpack to use llvm bin for .hsaco debug symbols.
* psdb tests fixes.
* EOL.
* misc. fixes and Disable api_buffered_tracing, external_correlation_id, hip-graph-tracing, kernel-tracing, rocpd, summary, tracing-hip-libraries, tracing-plus-counter-collection.
* fix incorrect cmakelists file.
* strip smallkernel.bin
* format.
* revert disabled tests commit.
* misc. fix in counter tests.
* misc.
* search codeobj unit test assets in curr bin and install bin.
* refactor newly added rocpd tests.
* modify tests for newly added hip-host-tracing.
* add LD LIB path to units, psdb is failing due to libs not being found.
---------
Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com >
Co-authored-by: Venkateshwar Reddy Kandula <Venkateshwarreddy.Kandula@amd.com >
Co-authored-by: JeniferC99 <150404595+JeniferC99@users.noreply.github.com >
2025-11-21 08:06:56 -06:00
systems-assistant[bot]
6b109c11c4
[rocprofv3] Reorganize rocprofv3.avail python package ( #175 )
...
* Reorganize rocprofv3 python package
adding Python version candidates
review fix
fix test
fix
remove extra line
fix the exception handle
fix Lint fail
fix installation
adding checks to check version format
disable test for address sanitizer
* review comments
* Removing extra lines
* fix format
* Add lib/python3/site-packages to PYTHONPATH in setup-env.sh
* rocprof-compute update rocprofv3 avail lib path
* Make rocprofv3 python binding build commands consistent with other python bindings
* fix cmake
* fix rocprof-compute
* revert cmake changes
* fix rocprofv3 avail python library
* fix cmake
* fix cmake
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
Co-authored-by: Sriraksha Nagaraj <Sriraksha.Nagaraj@amd.com >
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com >
Co-authored-by: systems-assistant[bot] <systems-assistant[bot]@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com >
Co-authored-by: SrirakshaNag <104580803+SrirakshaNag@users.noreply.github.com >
Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com >
2025-10-17 08:27:17 -07:00
Nagaraj, Sriraksha
3a62fee4ac
[rocprofv3-avail] Rework rocprofv3-avail tool ( #312 )
...
---------
Co-authored-by: vlaindic_amdeng <vladimir.indic@amd.com >
[ROCm/rocprofiler-sdk commit: 80d60d8535 ]
2025-06-06 11:51:37 -07:00
Madsen, Jonathan
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: 7afedc63be ]
2025-05-30 00:13:19 -05:00
Madsen, Jonathan
9f7703f918
Build system (libdw), correlation ID, and shebang fixes ( #354 )
...
* Fix compilation for output library
- link to targets for ATT (amd-comgr, dw, elf)
* Relax correlation ID retirement log failures
- only fail for correlation ID retirement underflow when building in CI mode
* Fix shebang for several files
- license was inserted before shebang in several places
* Update code coverage exclude folders for samples
* Tweak to agent tests
- test to make sure hsa agent is not the old value instead of testing that it is the new value
* Fix libdw include/link
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
[ROCm/rocprofiler-sdk commit: 3580478426 ]
2025-04-27 20:16:18 -05:00
Madsen, Jonathan
36f4788ad5
[CI] Miscellaneous Testing Updates ( #305 )
...
* Add rocprofiler-sdk-utilities.cmake
- contains cmake function rocprofiler_sdk_get_gfx_architectures
* Update perfetto_reader.py
- fix hash collision
* Update project names in tests folders
- rocprofiler-tests -> rocprofiler-sdk-tests
* Fix incorrect allocation-error handling
* [CI] Disable openmp tests for navi2, navi3, and navi4
* Suppress leaks by omptarget and llvm
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
[ROCm/rocprofiler-sdk commit: 2d072f9217 ]
2025-03-22 18:51:42 -05:00
Welton, Benjamin
95ac740f25
Fix install for conversion-script ( #211 )
...
[ROCm/rocprofiler-sdk commit: fd99654433 ]
2025-02-13 19:00:20 -06:00
Madsen, Jonathan
0a735d1684
Partial fix of legacy rocprofiler project name ( #110 )
...
* Partial fix of legacy rocprofiler project name
* Formatting fix
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
[ROCm/rocprofiler-sdk commit: 1f49d6c57b ]
2025-01-30 13:43:35 -06:00
Larry Meadows
9805ea599c
Ability to select alternative compiler per file ( #1086 )
...
[ROCm/rocprofiler-sdk commit: cc1498bb3b ]
2024-11-05 23:45:54 -06:00
Jonathan R. Madsen
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: 74facf87a6 ]
2024-10-25 11:17:34 -05:00
Jonathan R. Madsen
d87319ba1c
Miscellaneous Testing Fixes + CMake find_package include guard ( #1106 )
...
* Improve ROCPROFILER_DEFAULT_FAIL_REGEX
* Support find_package called twice
* Skip iteration of ROCPROFILER_AGENT_TYPE_CPU
* Relax tests/rocprofv3/summary
* Tweak to rocprofiler-sdk-tool/tool.cpp
* Move rocprofv3-trigger-list-metrics to libexec
* Remove PC_SAMPLING_TESTS_REGEX from CI workflow
* Update packaging
- core component depends on roctx component
* Increase verbosity for failing tests
* Fix RPATH of rocprofv3-trigger-list-metrics
---------
Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com >
[ROCm/rocprofiler-sdk commit: a92fa8f071 ]
2024-10-22 16:24:16 +05:30
Ammar ELWazir
b610c50913
Fixing kokkosp tool library packaging ( #1121 )
...
* Fixing kokkosp tool library packaging
* Update source/lib/rocprofiler-sdk-tool/kokkosp/CMakeLists.txt
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update CMakeLists.txt
* Update CMakeLists.txt
* Component Requirement in CPack
* Adding package dependency
* Update CMakeLists.txt
* Update rocprofiler_config_packaging.cmake
* Fix rocprofiler-sdk-tool-kokkosp BUILD/INSTALL RPATH
- CMAKE_INSTALL_LIBDIR doesn't help
* Add BUILD/INSTALL RPATH to rocprofv3-trigger-list-metrics
- fixes packaging issues
* Update packaging
- core depends on rocprofiler-sdk-roctx
- add CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS to resolve inter-package dependencies
* Fix package depends version format
* Improve tests/rocprofv3/summary/validate logging
* Update CI workflow
- prioritize roctx package in Install Packages step
* Remove setting <package-name>_VERSION in config.cmake.in
- this is automatically handled by existence of <package-name>-config-version.cmake
* Update rocprofiler-sdk-config.cmake
- relax find_package versioning requirements to same major and minor version
* Update rocprofiler-sdk-config.cmake
- relax find_package versioning requirements (remove EXACT, specify range)
* Tweak CI workflow
* Update perfetto_reader.py
- better handle failure to load trace processor
* Misc cleanup for config packaging
* Update config packaging
* Update config packaging
* Revert perfetto for core-rpm packages
* Revert perfetto for core-rpm packages
- perfetto < 0.9.0
* Tweak tests/rocprofv3/summary/validate.py
- reorder some checks
---------
Co-authored-by: Ammar Elwazir <aelwazir@useocpm2m-387-013.amd.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
[ROCm/rocprofiler-sdk commit: d762694acb ]
2024-10-15 20:28:06 -05:00
Jonathan R. Madsen
fcd6cc45bd
Package RCCL headers to support adding RCCL support w/o installed headers ( #1075 )
...
- in ROCm CI, rocprofiler-sdk gets built before RCCL is installed, this is a workaround for this issue
[ROCm/rocprofiler-sdk commit: 8c1382fceb ]
2024-09-12 18:24:50 -05:00
Jonathan R. Madsen
12ae4e6ce4
Migrate to rocprofiler-sdk:: namespace in CMake everywhere ( #892 )
...
- remove all usage/support for rocprofiler:: namespace
[ROCm/rocprofiler-sdk commit: a76f61a0a3 ]
2024-05-29 22:28:43 -05:00
Jonathan R. Madsen
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: 5525b400c3 ]
2024-05-29 16:45:56 -05:00
Jonathan R. Madsen
abe00ad1d0
Update CMake config install location + env setup files ( #821 )
...
- install cmake config files to CMAKE_INSTALL_LIBDIR instead of CMAKE_INSTALL_DATAROOTDIR per ROCm standards
- Provide setup-env.sh and modulefiles for rocprofiler-sdk and rocprofiler-sdk-roctx
[ROCm/rocprofiler-sdk commit: 67dbe3f47f ]
2024-04-24 14:43:47 -05:00
Jonathan R. Madsen
37d7930a60
Tools update ( #397 )
...
* Srnagara/tool counters collect (#331 )
* Adding counter collection capability to tools
* Adding counter collection feature to tools
* Adding counter collection capability to tools
* Fixing merge down issues
* Small tool fixes for build + prevent profile realloc
* Reproducing the counter name query issue in buffered callback
* Minor fix for init order + sample that directly uses sdk-tool for debug purposes
* Adding a temporary fix to print the counter names
* Fixing the output file name and reverting the changes of caching the profile config
* Fixing SGPR_Count value
* cleaning up debug prints
* Adding header to counter collection file
* Adding kernel filtering support
* Remove threading
* Cleaning up the code
* Removing redundant prints
* Revert "Remove threading"
This reverts commit 05c58fb9de826e92cf8d2e3d1c31d5578525dcb4.
* Revert "Cleaning up the code"
This reverts commit 1d964882bf2396dee8ad020cbb6c83b36e0674e9.
* Changing the tools code to align with init-order fix
* cmake formatting (cmake-format) (#335 )
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com >
* source formatting (clang-format v11) (#336 )
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com >
* Adding support for async memory copy
* source formatting (clang-format v11) (#391 )
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com >
* Fixing header typo
* Fixing tool_fini
* Replaceing the direction and kind fields values with description
* Update lib/rocprofiler-sdk-tool/helper.cpp
- Remove use of VLA
* Update lib/rocprofiler-sdk-tool/tool.cpp
- Formatting
* Migrate common/config.* to rocprofiler-sdk-tool
* Update lib/rocprofiler-sdk-tool/tool.cpp
- fix clang-tidy issues
* source formatting (clang-format v11) (#392 )
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com >
* Update lib/common/mpl.hpp
- is_string_type / is_string_type_impl for deducing if type is a string type
* Update include/rocprofiler-sdk/fwd.h
- ROCPROFILER_BUFFER_TRACING_MEMORY_COPY_NONE starts at zero
* Update lib/rocprofiler-sdk/hsa/async_copy.*
- functions for operation ids and names
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- support iterating and getting names for ROCPROFILER_BUFFER_TRACING_MEMORY_COPY
* Update lib/rocprofiler-sdk-tool/config.*
- env ROCPROFILER_ prefix -> ROCPROF_ prefix
- add support for memory copy tracing, counter collection, etc.
* Update lib/rocprofiler-sdk-tool/helper.*
- removed TracerFlushRecord
- removed cxa_demangle (use one in common library)
- removed GetCounterNames (handled in config)
- removed GetKernelNames (handled in config)
* Add lib/rocprofiler-sdk-tool/output_file.*
- separate out get_output_stream function and output_file struct from tool.cpp
* Add lib/rocprofiler-sdk-tool/csv.hpp
- write_csv_entry automatically quotes strings
- csv_encoder struct enforces correct number of columns
* Update lib/rocprofiler-sdk-tool/CMakeLists.txt
- add new files
* Update lib/rocprofiler-sdk-tool/tool.cpp
- update construction of output_file class
- add kernel_symbol_data for serializing kernel trace data
- use config instead of env lookups
- optimize counter collection profile config lookup/creation
* Update bin/rocprofv3
- rocprofv3 --help exits with 0 (as it should)
- command-line arg for memory copy tracing
- command-line arg for mangled kernels
- command-line arg for truncated kernels
- env ROCPROFILER_ prefix -> env ROCPROF_ prefix
* Update tests/async-copy-tracing/validate.py
- update test_async_copy_direction to new enum values
* Update tests/kernel-tracing/validate.py
- update test_async_copy_direction to new enum values
* Update tests/tools/json-tool.cpp
- add ROCPROFILER_BUFFER_TRACING_MEMORY_COPY to supported buffer_name_info
* Update samples/counter_collection/{CMakeLists.txt,main.cpp}
- remove counter-collection-sdk-tool
* Update .github/workflows/docs.yml
- fix paths triggering running the workflow
---------
Co-authored-by: Benjamin Welton <bewelton@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: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com >
* adding counter collection support
* Adding counter collection test
* changing directory structure of counter collection tests
* Fixing test path for rocprofv3
* Adding hsa-tracing basic test
* cmake formatting (cmake-format) (#362 )
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com >
* counter collection tests drop2
* fixing hsa-trace test for rocprofv3 path
* python formatting (black) (#371 )
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com >
* both counter colleciton and tracing should work together
* Fixing rocprofv3 path
* Attempt to fix Segfault with AddressSanitizer
* fixing sanitizer segfault
* Update rocprofv3
* Update lib/rocprofiler-sdk-tool/README.md
- update env variables
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- return ROCPROFILER_STATUS_BUFFER_NOT_FOUND if buffer tracing service is configured with invalid buffer
* Update lib/rocprofiler-sdk-tool/tool.cpp
- designated hsa API trace buffer
* Update tests/hsa-tracing/CMakeLists.txt
- Fix environment
* Update rocprofv3
- do not override HSA_TOOLS_LIB
- support ROCPROF_PRELOAD
- LD_PRELOAD librocprofiler-sdk.so
* Restructure tests directory
- move all rocprofv3 integration tests into subfolder
* Update cmake/Templates/rocprofiler-sdk/config.cmake.in
- create rocprofiler-sdk::rocprofv3 cmake target
* Update tests/rocprofv3/hsa-tracing
- improve validate.py
- convert input to dict via csv.DictReader
* Update tests/apps/CMakeLists.txt
- fix build rpath for simple-transpose
* Update cmake/rocprofiler_memcheck.cmake
- prefer libtsan.so.0
* Update tests/rocprofv3/hsa-tracing
- move to tests/rocprofv3/tracing
- include kernel tracing and memory copy tracing
* Update lib/rocprofiler-sdk-tool/tool.cpp
- normalize "_ID" vs. "_Id" in CSV column names (use "_Id")
* Update lib/rocprofiler-sdk/buffer.{hpp,cpp}
- change signature of buffer::get_buffers()
- buffer::get_buffers() uses static_object
* Update lib/rocprofiler-sdk/context/context.cpp
- update usage of buffer::get_buffers()
- now returns pointer
* Update lib/rocprofiler-sdk/tests/buffer.cpp
- update to change for signature of buffer::get_buffers()
* Update tests/rocprofv3/tracing/CMakeLists.txt
- use %argt% with -d argument
* Update lib/rocprofiler-sdk-tool/tool.cpp
- use atexit for finalization
* Update tests/rocprofv3/tracing/CMakeLists.txt
- tweaked name of tests
* Update lib/rocprofiler-sdk/hsa/async_copy.*
- async_copy_fini + reference counting signals
* Update lib/rocprofiler-sdk/registration.cpp
- invoke hsa::async_copy_fini() to prevent data race on signals
---------
Co-authored-by: SrirakshaNag <104580803+SrirakshaNag@users.noreply.github.com >
Co-authored-by: Benjamin Welton <bewelton@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 >
[ROCm/rocprofiler-sdk commit: 1f4cf1aa39 ]
2024-01-22 19:06:25 -06:00
Jonathan R. Madsen
93f2a75c3b
ROCTx Library Tracing ( #390 )
...
* Update include/rocprofiler-sdk/marker/*
- Update rocprofiler_marker_api_args_t for all API functions
- Add ROCPROFILER_MARKER_API_ID_roctxGetThreadId to rocprofiler_marker_api_id_t
* Update include/rocprofiler-sdk/marker/api_args.h
- fix include
* Update lib/common/mpl.hpp
- is_pair
- is_type_complete_v
* Update include/rocprofiler-sdk/marker/*
- fix rocprofiler_marker_api_retval_t
- add roctxGetThreadId to rocprofiler_marker_api_args_t
- fix type in enum: HsaDevice -> HsaAgent
- add table_api_id.h
* Update include/rocprofiler-sdk/marker.h
- include marker/table_api_id.h
* Update include/rocprofiler-sdk/buffer_tracing.h
- Buffer marker tracer records have begin and end timestamp
* Add lib/rocprofiler-sdk/marker
- tracing implementation for marker (roctx) library
* Update include/rocprofiler-sdk/{buffer_tracing,marker/table_api_id}.h
- rocprofiler_buffer_tracing_marker_record_t -> rocprofiler_buffer_tracing_marker_api_record_t
* Update lib/rocprofiler-sdk/buffer_tracing.cpp
- support for ROCPROFILER_BUFFER_TRACING_MARKER_API
* Update lib/rocprofiler-sdk/callback_tracing.cpp
- support for ROCPROFILER_CALLBACK_TRACING_MARKER_API
* Update lib/rocprofiler-sdk/intercept_table.cpp
- template instantiation for notify_runtime_api_registration
* Update lib/rocprofiler-sdk/registration.cpp
- enable roctx in rocprofiler_set_api_table
* Update lib/rocprofiler-sdk/marker/marker.cpp
- rocprofiler_buffer_tracing_marker_record_t -> rocprofiler_buffer_tracing_marker_api_record_t
* Update lib/rocprofiler/tests for roctx testing
- add roctx.cpp
- unit tests for roctx callback and buffer tracing
- support marker API in get_{buffer,callback}_tracing_names()
* Update lib/common/logging.cpp
- logging initialized message mentions env variable
* Update lib/common/mpl.hpp
- NOLINT for misc-definitions-in-headers
* Update lib/rocprofiler-sdk/tests/CMakeLists.txt
- include LD_LIBRARY_PATH in rocprofiler-lib-tests-shared tests
* Update lib/rocprofiler-sdk/registration.cpp
- client_library_vec_t is now vector of option<client_library>
- enables resetting the client_library after finalization
- removed acquiring registration lock when invoke_client_finalizers called via atexit
- this was causing some lock-order-inversion warnings (potential deadlock)
* Update lib/rocprofiler-sdk/agent.cpp
- model name for agent supports spaces
* Update tests/common/serialization.hpp
- add serialization support for marker tracing data structures
* Update tests/apps
- Add ROCTx markers into reproducible-runtime and transpose
* Update tests/tools/json-tools.cpp
- add marker tracing support
- remove strdup (no longer necessary)
* Update tests/kernel-tracing/validate.py
- validate marker API tracing data
* Update tests/async-copy-tracing/validate.py
- validate marker API tracing data
* Update cmake for load path resolution during testing
* Update tests/async-copy-tracing/CMakeLists.txt
- fix test LD_LIBRARY_PATH
* Update cmake/Templates/rocprofiler-sdk-roctx/config.cmake.in
- fix constructing rocprofiler-sdk-roctx::rocprofiler-sdk-roctx
[ROCm/rocprofiler-sdk commit: 21dd088c8e ]
2024-01-18 09:48:06 -06:00
Jonathan R. Madsen
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: 1edd4891b2 ]
2024-01-17 01:27:41 -06:00
Jonathan R. Madsen
c4a749d99e
Remove directly linking to HIP and HSA runtimes ( #373 )
...
- librocprofiler-sdk.so no longer directly links to HIP runtime library (libamdhip64.so)
- librocprofiler-sdk.so no longer directly links to HSA runtime library (libhsa-runtime64.so)
- librocprofiler-sdk.so does directly link to AQL profile library (libhsa-amd-aqlprofile64.so) so HSA runtime library is still in DT_NEEDED
- This needs to be fixed eventually so rocprofiler-sdk library can be independent of HSA and HIP runtimes
[ROCm/rocprofiler-sdk commit: 57113e98c9 ]
2024-01-14 19:05:10 -06:00
Jonathan R. Madsen
fafab6b713
Use -sdk suffix and reset VERSION to 0.0.0 ( #263 )
...
* Fix find_package(rocprofiler) in build tree
* Move include/rocprofiler to include/rocprofiler-sdk
* Update include/CMakeLists.txt
- add_subdirectory(rocprofiler-sdk)
* Move lib/rocprofiler to lib/rocprofiler-sdk
* Move lib/rocprofiler-tool to lib/rocprofiler-sdk-tool
* Update lib/CMakeLists.txt
- add_subdirectory(rocprofiler-sdk)
- add_subdirectory(rocprofiler-sdk-tool)
* Update lib/rocprofiler-sdk/CMakeLists.txt
* Rename rocprofiler-tool to rocprofiler-sdk-tool
* Replace include rocprofiler/ with include rocprofiler-sdk/
* Replace include lib/rocprofiler/ with include lib/rocprofiler-sdk/
* Set VERSION to 0.0.0 and finish install to rocprofiler-sdk
* More fixes for rocprofiler -> rocprofiler-sdk
- fix issue with rocprofiler-sdk-config.cmake.in
- fix counters xml install path
* Fix documentation generation
* Create rocprofiler_LIB_ROCPROFILER_SDK_DIR for build tree
* cmake formatting (cmake-format) (#264 )
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com >
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[ROCm/rocprofiler-sdk commit: 9a0c84efa6 ]
2023-11-29 20:43:18 -06:00
Jonathan R. Madsen
ac832eb2c7
Fix rocprofiler installation ( #73 )
...
- install rocprofiler library
- define AMD_INTERNAL_BUILD when including hsa/hsa.h
- install include/rocprofiler/registration.h header
- fix samples/pc_sampling cmake via installed rocprofiler
- fix samples/api_callback_tracing cmake via installed rocprofiler
- fix samples/api_buffered_tracing cmake via installed rocprofiler
- set cmake_minimum_required in samples/CMakeLists.txt
- find dependent packages in rocprofiler-config.cmake.in
- AMDDeviceLibs
- amd_comgr
- hsa-runtime64
- hip
- export rocprofiler-hip and rocprofiler-hsa-runtime libraries
- add Test Install Build step to CI workflow
[ROCm/rocprofiler-sdk commit: 8be4ca1a04 ]
2023-09-21 10:07:07 -05:00
Jonathan R. Madsen
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: 527aa71f5a ]
2023-08-08 18:39:01 -05:00