Files
rocm-systems/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk-roctx_api_reference.rst
T
Bhardwaj, Gopesh abf3f869e9 Making ROCTx API doxygen generated document more readable (#385)
* Making ROCTx API doxygen generated document more readable

* fixing build

* Fix linking errors

* Fixing header

* Fixing Topics and Types

* doxygen configuration fixes

* Fixing build

* Fix unnecessory doc parsing warnings

* formatting and linting fixes

* rebasing SDK modular PR

* Fixing missing line

* Fixing ROCtx documentation after merge

* Removing flake changes

* changed back WARN_IF_DOC_ERROR to Yes

[ROCm/rocprofiler-sdk commit: b48fa532bc]
2025-05-22 18:08:55 -05:00

67 lines
1.8 KiB
ReStructuredText

.. meta::
:description: ROCprofiler-SDK-ROCTx API reference page
:keywords: AMD, ROCm, HSA
.. _rocprofiler_sdk_roctx_api_reference:
********************************************************************************
ROCTx API
********************************************************************************
Introduction
============
ROCTx is a comprehensive library that implements the AMD code annotation API. It provides
essential functionality for:
- Event annotation and marking
- Code range tracking and management
- Profiler control and customization
- Thread and device naming capabilities
Key features:
- Nested range tracking with push/pop functionality
- Process-wide range management
- Thread-specific and global profiler control
- Device and stream naming support
- HSA agent and HIP device management
The API is divided into several main components:
1. **Markers** - For single event annotations
2. **Ranges** - For tracking code execution spans
3. **Profiler Control** - For managing profiling tool behavior
4. **Naming Utilities** - For labeling threads, devices, and streams
Thread Safety:
- Range operations are thread-local and thread-safe
- Marking operations are thread-safe
- Profiler control operations are process-wide
Integration:
- Compatible with HIP runtime
- Supports HSA (Heterogeneous System Architecture)
- Provides both C and C++ interfaces
Performance Considerations:
- Minimal overhead for marking and range operations
- Thread-local storage for efficient range stacking
- Lightweight profiler control mechanisms
.. note::
All string parameters must be null-terminated.
.. warning::
Proper nesting of range push/pop operations is the user's responsibility.
This ROCTx API topic broadly covers:
* :ref:`roctx_modules_reference`
* :ref:`global_roctx_data_structures_topics_files_reference`