Fixing broken link (#326)
* fixing broken link * added metadata information --------- Co-authored-by: srawat <120587655+SwRaw@users.noreply.github.com> Co-authored-by: Bhardwaj, Gopesh <Gopesh.Bhardwaj@amd.com>
Tento commit je obsažen v:
@@ -1,9 +1,9 @@
|
||||
.. ---
|
||||
.. myst:
|
||||
.. html_meta:
|
||||
.. "description": "ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software."
|
||||
.. "keywords": "ROCprofiler-SDK API reference, Buffered services API"
|
||||
.. ---
|
||||
|
||||
.. meta::
|
||||
:description: ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software
|
||||
:keywords: ROCprofiler-SDK API reference, Buffered services API
|
||||
|
||||
.. _buffered-services:
|
||||
|
||||
ROCprofiler-SDK buffered services
|
||||
=================================
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
.. ---
|
||||
.. myst:
|
||||
.. html_meta:
|
||||
.. "description": "ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software."
|
||||
.. "keywords": "ROCprofiler-SDK API reference, ROCprofiler-SDK callback services, Callback services API"
|
||||
.. ---
|
||||
|
||||
.. meta::
|
||||
:description: ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software
|
||||
:keywords: ROCprofiler-SDK API reference, ROCprofiler-SDK callback services, Callback services API
|
||||
|
||||
.. _rocprofiler_sdk_callback_tracing_services:
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
.. meta::
|
||||
:description: ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software
|
||||
:keywords: ROCprofiler-SDK API reference, ROCprofiler-SDK counter collection
|
||||
|
||||
.. _rocprofiler_sdk_counter_collection_services:
|
||||
|
||||
ROCprofiler-SDK Counter Collection Services
|
||||
ROCprofiler-SDK counter collection services
|
||||
===========================================
|
||||
|
||||
There are two modes of counter collection service:
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
.. ---
|
||||
.. myst:
|
||||
.. html_meta:
|
||||
.. "description": "ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software."
|
||||
.. "keywords": "ROCprofiler-SDK API reference, ROCprofiler-SDK intercept table, Intercept table API"
|
||||
.. ---
|
||||
|
||||
.. _ROCprofiler-SDK runtime intercept tables:
|
||||
.. meta::
|
||||
:description: ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software
|
||||
:keywords: ROCprofiler-SDK API reference, ROCprofiler-SDK intercept table, Intercept table API
|
||||
|
||||
Runtime Intercept Tables
|
||||
.. _runtime-intercept-tables:
|
||||
|
||||
Runtime intercept tables
|
||||
=========================
|
||||
|
||||
While tools commonly leverage the callback or buffer tracing services for tracing the HIP, HSA, and ROCTx
|
||||
APIs, ROCprofiler-SDK also provides access to the raw API dispatch tables.
|
||||
|
||||
Forward declaration of public C API function:
|
||||
Forward declaration of public C API function
|
||||
----------------------------------------------
|
||||
|
||||
All the aforementioned APIs are designed similar to the following sample:
|
||||
@@ -27,7 +25,7 @@ All the aforementioned APIs are designed similar to the following sample:
|
||||
foo(int) __attribute__((visibility("default")));
|
||||
}
|
||||
|
||||
Internal implementation of API function:
|
||||
Internal implementation of API function
|
||||
-----------------------------------------
|
||||
|
||||
.. code-block:: cpp
|
||||
@@ -42,7 +40,7 @@ Internal implementation of API function:
|
||||
}
|
||||
}
|
||||
|
||||
Dispatch table implementation:
|
||||
Dispatch table implementation
|
||||
-------------------------------
|
||||
|
||||
.. code-block:: cpp
|
||||
@@ -77,7 +75,7 @@ Dispatch table implementation:
|
||||
}
|
||||
} // namespace impl
|
||||
|
||||
Implementation of public C API function:
|
||||
Implementation of public C API function
|
||||
-----------------------------------------
|
||||
|
||||
.. code-block:: cpp
|
||||
@@ -92,10 +90,10 @@ Implementation of public C API function:
|
||||
}
|
||||
}
|
||||
|
||||
Dispatch table chaining:
|
||||
Dispatch table chaining
|
||||
-------------------------
|
||||
|
||||
ROCprofiler-SDK can save the original values of the function pointers such as ``foo_fn`` in ``impl::construct_dispatch_table()`` and install its own function pointers in its place. This results in the public C API function `foo` calling into the ROCprofiler-SDK function pointer, which in turn, calls the original function pointer to ``impl::foo``. This phenomenon is named chaining. Once ROCprofiler-SDK
|
||||
makes necessary modifications to the dispatch table, tools requesting access to the raw dispatch table via ``rocprofiler_at_intercept_table_registration``, are provided the pointer to the dispatch table.
|
||||
ROCprofiler-SDK can save the original values of the function pointers such as ``foo_fn`` in ``impl::construct_dispatch_table()`` and install its own function pointers in its place. This results in the public C API function ``foo`` calling into the ROCprofiler-SDK function pointer, which in turn, calls the original function pointer to ``impl::foo``. This phenomenon is named chaining. Once ROCprofiler-SDK
|
||||
makes necessary modifications to the dispatch table, tools requesting access to the raw dispatch table via ``rocprofiler_at_intercept_table_registration`` are provided the pointer to the dispatch table.
|
||||
|
||||
For an example of dispatch table chaining, see `samples/intercept_table <https://github.com/ROCm/rocprofiler-sdk-internal/tree/amd-staging/samples/intercept_table>`_.
|
||||
For examples on dispatch table chaining, see `samples/intercept_table <https://github.com/ROCm/rocprofiler-sdk/tree/amd-staging/samples/intercept_table>`_.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.. ---
|
||||
.. myst:
|
||||
.. html_meta:
|
||||
.. "description": "ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software."
|
||||
.. "keywords": "ROCprofiler-SDK API reference, Program counter sampling, PC sampling"
|
||||
.. ---
|
||||
|
||||
.. meta::
|
||||
:description: ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software
|
||||
:keywords: ROCprofiler-SDK API reference, Program counter sampling, PC sampling
|
||||
|
||||
.. _pc-sampling:
|
||||
|
||||
ROCprofiler-SDK PC sampling method
|
||||
===================================
|
||||
@@ -43,7 +43,7 @@ Here are the steps to set up ``tool_init()``:
|
||||
&buff),
|
||||
"buffer creation failed");
|
||||
|
||||
For more details on buffer creation, see `buffered services <buffered_services.md>`_.
|
||||
For more details on buffer creation, see :ref:`buffered-services`.
|
||||
|
||||
The PC sampling service is tied to a GPU agent. To extract the list of available agents, use the ``rocprofiler_query_available_agents`` as shown in the following code snippet:
|
||||
|
||||
@@ -170,8 +170,6 @@ The PC sampling service asynchronously delivers samples via a dedicated callback
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
For more information on the data comprising a single sample, see `pc_sampling.h <https://github.com/ROCm/rocprofiler-sdk/blob/amd-mainline/source/include/rocprofiler-sdk/pc_sampling.h>`_.
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
.. ---
|
||||
.. myst:
|
||||
.. html_meta:
|
||||
.. "description": "ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software."
|
||||
.. "keywords": "ROCprofiler-SDK API reference, Tool library API"
|
||||
.. ---
|
||||
|
||||
.. _ROCprofiler-SDK tool library:
|
||||
.. meta::
|
||||
:description: ROCprofiler-SDK is a tooling infrastructure for profiling general-purpose GPU compute applications running on the ROCm software
|
||||
:keywords: ROCprofiler-SDK API reference, Tool library API
|
||||
|
||||
.. _tool-library:
|
||||
|
||||
ROCprofiler-SDK tool library
|
||||
============================
|
||||
@@ -239,4 +237,3 @@ All the code snippets from the previous sections are combined here to demonstrat
|
||||
|
||||
return &cfg;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ The documentation is structured as follows:
|
||||
* :doc:`Buffered services <api-reference/buffered_services>`
|
||||
* :doc:`Callback services <api-reference/callback_services>`
|
||||
* :doc:`Counter collection services <api-reference/counter_collection_services>`
|
||||
* :doc:`Intercept table <api-reference/intercept_table>`
|
||||
* :ref:`runtime-intercept-tables`
|
||||
* :doc:`PC sampling <api-reference/pc_sampling>`
|
||||
* :doc:`Tool library <api-reference/tool_library>`
|
||||
* :doc:`ROCprofiler-SDK API library <_doxygen/rocprofiler-sdk/html/index>`
|
||||
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele