Arquivos
rocm-systems/samples/external_correlation_id_request
Jonathan R. Madsen de13d2ac5d 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
2024-04-25 20:09:11 -05:00
..

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)