Public C++ header files and samples updates (#819)

* Public C++ header files (source/include/rocprofiler-sdk/cxx)

* Update samples/api_buffered_tracing

- scratch memory and page migration
- README

* Update samples/api_buffered_tracing

- page migration component in sample

* Update tests/page-migration/validate.py

- fix checks for page migration operation names

* Update tests/page-migration/validate.py

- fix get_allocated_pages

* Update scratch memory and page migration validations

* Fix include/rocprofiler-sdk/cxx installation

* Rework include/rocprofiler-sdk/cxx

- Improve name_info to support const char*, string_view, string

* Update samples/api_{buffered,callback}_tracing

* External correlation ID request sample

- includes correlation ID retirement demo

* Update samples/api_buffered_tracing/README.md

* Update lib/rocprofiler-sdk/hsa/queue.cpp

- generate correlation ID for kernel launch if one doesn't exist

* Remove priority check from tool libraries (samples/tests)

- if(priority > 0) return nullptr check in rocprofiler_configure has proliferated beyond its intended use

* Apply suggestions from code review
This commit is contained in:
Jonathan R. Madsen
2024-04-25 20:09:11 -05:00
zatwierdzone przez GitHub
rodzic e2bce49655
commit de13d2ac5d
37 zmienionych plików z 2232 dodań i 512 usunięć
@@ -0,0 +1,24 @@
# External Correlation ID Request Sample
## Services
- Code object callback tracing for mapping kernel IDs to kernel names
- HIP Runtime API:
- hipLaunchKernel
- hipMemcpyAsync
- hipMemsetAsync
- hipMalloc
- Kernel dispatch
- Memory Copy
- External correlation ID request:
- Kernel dispatch
- Memory copy
- Correlation ID retirement
## Properties
- Subscribes to an external correlation ID request for all kernel dispatches and async memory copies
- Generates an external correlation ID containing all the arguments passed to the request callback
- Demonstrates that all external correlation IDs which are requested are passed back to tool in buffer callbacks
- Demonstrates that all internal correlation IDs which are provided as an input argument to request are retired
- Buffer size of 4096 bytes which is automatically flushed once >= 87.5% of buffer is filled (3584 bytes)