API and Usage Documentation
Change-Id: If34e497ff7938a352eecd4c1cd972cca5df6c5a3
[ROCm/rocprofiler commit: 24286477af]
Этот коммит содержится в:
коммит произвёл
Gopesh Bhardwaj
родитель
7c3aa38dac
Коммит
1d95e00954
@@ -513,9 +513,9 @@ endif()
|
||||
find_package(Doxygen)
|
||||
|
||||
if(DOXYGEN_FOUND)
|
||||
# # Set input and output files
|
||||
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in)
|
||||
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
# # Set input and output files for API Document
|
||||
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile_API.in)
|
||||
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_API)
|
||||
|
||||
# # Request to configure the file
|
||||
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
|
||||
@@ -529,7 +529,7 @@ if(DOXYGEN_FOUND)
|
||||
${DOXYGEN_IN}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/include/rocprofiler/v2/rocprofiler_plugin.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/rocprofiler/v2/rocprofiler.h
|
||||
COMMENT "Generating documentation")
|
||||
COMMENT "Generating API documentation")
|
||||
|
||||
add_custom_target(
|
||||
doc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html
|
||||
@@ -538,7 +538,7 @@ if(DOXYGEN_FOUND)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/doc/latex/refman.pdf"
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
RENAME "${PROJECT_NAME}.pdf"
|
||||
RENAME "${PROJECT_NAME}v2_api_spec.pdf"
|
||||
OPTIONAL
|
||||
COMPONENT docs)
|
||||
|
||||
@@ -547,5 +547,41 @@ if(DOXYGEN_FOUND)
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}/html
|
||||
OPTIONAL
|
||||
COMPONENT docs)
|
||||
|
||||
# # Set input and output files for Tools Document
|
||||
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile_Tool.in)
|
||||
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/tooldoc/Doxyfile_Tool)
|
||||
|
||||
# # Request to configure the file
|
||||
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tooldoc/html/index.html
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tooldoc/latex/refman.pdf
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
|
||||
COMMAND make -C ${CMAKE_CURRENT_BINARY_DIR}/tooldoc/latex pdf
|
||||
MAIN_DEPENDENCY ${DOXYGEN_OUT}
|
||||
${DOXYGEN_IN}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/doc/rocprofv2_tool.md
|
||||
COMMENT "Generating Tools documentation")
|
||||
|
||||
add_custom_target(
|
||||
doc_tool DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tooldoc/html/index.html
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tooldoc/latex/refman.pdf)
|
||||
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/tooldoc/latex/refman.pdf"
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
RENAME "${PROJECT_NAME}v2_tool.pdf"
|
||||
OPTIONAL
|
||||
COMPONENT docs)
|
||||
|
||||
install(
|
||||
DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/tooldoc/html/"
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}/html
|
||||
OPTIONAL
|
||||
COMPONENT docs)
|
||||
|
||||
add_dependencies(doc doc_tool)
|
||||
endif()
|
||||
|
||||
|
||||
+2
-2
@@ -1207,7 +1207,7 @@ HTML_TIMESTAMP = NO
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
HTML_DYNAMIC_SECTIONS =
|
||||
|
||||
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
|
||||
# shown in the various tree structured indices initially; the user can expand
|
||||
@@ -1446,7 +1446,7 @@ GENERATE_TREEVIEW = NO
|
||||
# Minimum value: 0, maximum value: 20, default value: 4.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
ENUM_VALUES_PER_LINE = 1
|
||||
|
||||
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
|
||||
# to set the initial width (in pixels) of the frame in which the tree is shown.
|
||||
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@@ -6,7 +6,7 @@ This command line tool is implemented as a script which is setting up the enviro
|
||||
## 2. Profiling Modes
|
||||
‘rocprof’ can be used for GPU profiling using HW counters and application tracing
|
||||
### 2.1. GPU profiling
|
||||
GPU profiling is controlled with input file which defines a list of metrics/counters and a profiling scope. An input file is provided using option ‘-i <input file>’. Output CSV file with a line per submitted kernel is generated. Each line has kernel name, kernel parameters and counter values. By option ‘—stats’ the kernel execution stats can be generated in CSV format. Currently profiling has limitation of serializing submitted kernels.
|
||||
GPU profiling is controlled with input file which defines a list of metrics/counters and a profiling scope. An input file is provided using option ‘-i [input file]’. Output CSV file with a line per submitted kernel is generated. Each line has kernel name, kernel parameters and counter values. By option ‘—stats’ the kernel execution stats can be generated in CSV format. Currently profiling has limitation of serializing submitted kernels.
|
||||
An example of input file:
|
||||
```
|
||||
# Perf counters group 1
|
||||
|
||||
@@ -0,0 +1,301 @@
|
||||
# ROCProfiler v2
|
||||
|
||||
## DISCLAIMER
|
||||
|
||||
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes.THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD, the AMD Arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
|
||||
|
||||
© 2022 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
## Introduction
|
||||
|
||||
ROCProfilerV2 is a newly developed design for AMD’s tooling infrastructure that provides a hardware specific low level performance analysis interface for profiling of GPU compute applications.
|
||||
The first API library version for ROCProfiler v2 is 9.0.0
|
||||
|
||||
**Note: ROCProfilerV2 is currently considered a beta version and is subject to change in future releases**
|
||||
|
||||
## Modules
|
||||
|
||||
- Counters
|
||||
- Hardware
|
||||
- Generic Buffer
|
||||
- Session
|
||||
- Filter
|
||||
- Tools
|
||||
- Plugins
|
||||
- Samples
|
||||
- Tests
|
||||
|
||||
## Getting started
|
||||
|
||||
### Requirements
|
||||
|
||||
- makecache
|
||||
- Gtest Development Package (Ubuntu: libgtest-dev)
|
||||
- libsystemd-dev, libelf-dev, libnuma-dev on ubuntu or their corresponding packages on any other OS
|
||||
- Cppheaderparser, websockets, matplotlib, lxml, barectf Python3 Packages
|
||||
|
||||
### Build
|
||||
|
||||
The user has two options for building:
|
||||
|
||||
- Option 1 (It will install in the path saved in ROCM_PATH environment variable or /opt/rocm if ROCM_PATH is empty):
|
||||
|
||||
- Run
|
||||
```bash
|
||||
# Normal Build
|
||||
./build.sh --build OR ./build.sh -b
|
||||
```
|
||||
```bash
|
||||
# Clean Build
|
||||
./build.sh --clean-build OR ./build.sh -cb
|
||||
```
|
||||
|
||||
- Option 2 (Where ROCM_PATH envronment need to be set with the current installation directory of rocm), run the following:
|
||||
```bash
|
||||
# Creating the build directory
|
||||
mkdir build && cd build
|
||||
|
||||
# Configuring the rocprofv2 build
|
||||
cmake -DCMAKE_PREFIX_PATH=$ROCM_PATH -DCMAKE_MODULE_PATH=$ROCM_PATH/hip/cmake <CMAKE_OPTIONS> ..
|
||||
|
||||
# Building the main runtime of the rocprofv2 project
|
||||
cmake --build . -- -j
|
||||
|
||||
# Optionally, for building API documentation
|
||||
cmake --build . -- -j doc
|
||||
|
||||
# Optionally, for building ROCProfiler V2 samples
|
||||
cmake --build . -- -j samples
|
||||
|
||||
# Optionally, for building packages (DEB, RPM, TGZ)
|
||||
cmake --build . -- -j tests
|
||||
|
||||
# Optionally, for building packages (DEB, RPM, TGZ)
|
||||
# Note: Requires rpm package on ubuntu
|
||||
cmake --build . -- -j package
|
||||
```
|
||||
|
||||
### Install
|
||||
|
||||
- Optionally, run the following to install
|
||||
```bash
|
||||
# Install rocprofv2 in the ROCM_PATH path
|
||||
./rocprofv2 --install
|
||||
```
|
||||
|
||||
OR, if you are using option 2 in building
|
||||
```bash
|
||||
cd build
|
||||
# Install rocprofv2 in the ROCM_PATH path
|
||||
cmake --build . -- -j install
|
||||
```
|
||||
|
||||
## Tool Usage and Features
|
||||
|
||||
- rocsys: This is a frontend command line utility to launch/start/stop/exit a session with the required application to be traced or profiled in rocprofv2 context.
|
||||
Usage:
|
||||
```bash
|
||||
# Launch the application with the required profiling and tracing options with giving a session identifier to be used later
|
||||
rocsys --session session_name launch mpiexec -n 2 ./rocprofv2 -i samples/input.txt Histogram
|
||||
|
||||
# Start a session with a given identifier created at launch
|
||||
rocsys --session session_name start
|
||||
|
||||
# Stop a session with a given identifier created at launch
|
||||
rocsys –session session_name stop
|
||||
|
||||
# Exit a session with a given identifier created at launch
|
||||
rocsys –session session_name exit
|
||||
```
|
||||
|
||||
- rocprofv2:
|
||||
|
||||
- Counters and Metric Collection: HW counters and derived metrics can be collected using following option:
|
||||
```bash
|
||||
rocprofv2 -i samples/input.txt <app_relative_path>
|
||||
input.txt
|
||||
```
|
||||
input.txt content Example (Details of what is needed inside input.txt will be mentioned with every feature):
|
||||
```bash
|
||||
pmc: SQ_WAVES GRBM_COUNT GRBM_GUI_ACTIVE SQ_INSTS_VALU
|
||||
```
|
||||
|
||||
- Application Trace Support: Differnt trace options are available while profiling an app:
|
||||
```bash
|
||||
# HIP API & asynchronous activity tracing
|
||||
rocprofv2 --hip-api <app_relative_path> ## For synchronous HIP API Activity tracing
|
||||
rocprofv2 --hip-activity <app_relative_path> ## For both Synchronous & ASynchronous HIP API Activity tracing
|
||||
rocprofv2 --hip-trace <app_relative_path> ## Same as --hip-activity, added for backward compatibility
|
||||
|
||||
# HSA API & asynchronous activity tracing
|
||||
rocprofv2 --hsa-api <app_relative_path> ## For synchronous HSA API Activity tracing
|
||||
rocprofv2 --hsa-activity <app_relative_path> ## For both Synchronous & ASynchronous HSA API Activity tracing
|
||||
rocprofv2 --hsa-trace <app_relative_path> ## Same as --hsa-activity, added for backward compatibility
|
||||
|
||||
# Kernel dispatches tracing
|
||||
rocprofv2 --kernel-trace <app_relative_path> ## Kernel Dispatch Tracing
|
||||
|
||||
# HIP & HSA API and asynchronous activity and kernel dispatches tracing
|
||||
rocprofv2 --sys-trace <app_relative_path> ## Same as combining --hip-trace & --hsa-trace & --kernel-trace
|
||||
```
|
||||
|
||||
For complete usage options, please run rocprofv2 help
|
||||
```bash
|
||||
rocprofv2 --help
|
||||
```
|
||||
|
||||
- (ATT) Advanced Thread Trace: It can collect kernel running time, granular hardware metrics per kernel dispatch and provide hotspot analysis at source code level via hardware tracing.
|
||||
Usage:
|
||||
```bash
|
||||
# ATT(Advanced Thread Trace) needs few preconditions before running.
|
||||
# 1. Make sure to generate the assembly file for application by executing the following before compiling your HIP Application
|
||||
export HIPCC_COMPILE_FLAGS_APPEND="--save-temps -g"
|
||||
|
||||
# 2. Install plugin package
|
||||
see Plugin Support section for installation
|
||||
|
||||
# 3. Run the following to view the trace
|
||||
rocprofv2 --plugin att <app_relative_path_assembly_file> --mode <network, file, off> -i input.txt <app_relative_path>
|
||||
|
||||
# app_assembly_file_relative_path is the assembly file with .s extension generated in 1st step
|
||||
# app_relative_path is the path for the application binary
|
||||
# Mode:
|
||||
# - Network: opens the server with the browser UI.
|
||||
# att needs 2 ports opened (8000, 18000), In case the browser is running on a different machine.
|
||||
# - File: dumps the json files to disk, it can be used to quickly verify if there is anything wrong with the data.
|
||||
# - Off runs collection but not analysis/parsing. So it can be later used on another system to be viewed.
|
||||
# input.txt gives flexibility to to target the compute unit and provide filters.
|
||||
# input.txt contents:
|
||||
# TARGET_CU=1 // or some other CU [0,15]
|
||||
# SE_MASK=0x1 // bitmask of shader engines. The fewer, the easier on the hardware. Default enables all 24 because SE_MASK code is recent.
|
||||
# SIMD_MASK=0xF // bitmask of SIMDs, there are four in GFX9.
|
||||
# samples/att.txt is having an example on how to right input file for ATT
|
||||
```
|
||||
|
||||
- Plugin Support: We have a template for adding new plugins. New plugins can be written on top of rocprofv2 to support the desired output format using include/rocprofiler/v2/rocprofiler_plugins.h header file. These plugins are modular in nature and can easily be decoupled from the code based on need. E.g.
|
||||
- file plugin: outputs the data in txt files.
|
||||
- Perfetto plugin: outputs the data in protobuf format.
|
||||
- Protobuf files can be viewed using ui.perfetto.dev or using trace_processor
|
||||
- ATT (Advanced thread tracer) plugin: advanced hardware traces data in binary format. Please refer ATT section.
|
||||
- CTF plugin: Outputs the data in ctf format(a binary trace format)
|
||||
- CTF binary output can be viewed using TraceCompass or babeltrace.
|
||||
|
||||
installation:
|
||||
```bash
|
||||
rocprofiler-plugins_9.0.0-local_amd64.deb
|
||||
rocprofiler-plugins-9.0.0-local.x86_64.rpm
|
||||
```
|
||||
usage:
|
||||
```bash
|
||||
# plugin_name can be file, perfetto , ctf
|
||||
./rocprofv2 --plugin plugin_name -i samples/input.txt -d output_dir <app_relative_path> # -d is optional, but can be used to define the directory output for output results
|
||||
```
|
||||
|
||||
- Device Profiling: A device profiling session allows the user to profile the GPU device for counters irrespective of the running applications on the GPU. This is different from application profiling. device profiling session doesn't care about the host running processes and threads. It directly provides low level profiling information.
|
||||
|
||||
- Session Support: A session is a unique identifier for a profiling/tracing/pc-sampling task. A ROCProfilerV2 Session has enough information about what needs to be collected or traced and it allows the user to start/stop profiling/tracing whenever required. More details on the API can be found in the API specification documentation that can be installed using rocprofiler-doc package. Samples also can be found for how to use the API in samples directory.
|
||||
|
||||
## Tests
|
||||
|
||||
We make use of the GoogleTest (Gtest) framework to automatically find and add test cases to the CMAKE testing environment. ROCProfilerV2 testing is categorized as following:
|
||||
|
||||
- unittests (Gtest Based) : These includes tests for core classes. Any newly added functionality should have a unit test written to it.
|
||||
|
||||
- featuretests (standalone and Gtest Based): These includes both API tests and tool tests. Tool is tested against different applications to make sure we have right output in evry run.
|
||||
|
||||
- memorytests (standalone): This includes running address sanitizer for memory leaks, corruptions.
|
||||
|
||||
installation:
|
||||
```bash
|
||||
rocprofiler-tests_9.0.0-local_amd64.deb
|
||||
rocprofiler-tests-9.0.0-local.x86_64.rpm
|
||||
```
|
||||
|
||||
- Optionally, for tests: run the following:
|
||||
|
||||
- Option 1, using rocprofv2 script:
|
||||
```bash
|
||||
cd build && ./rocprofv2 -t
|
||||
```
|
||||
|
||||
- Option 2, using cmake directly:
|
||||
```bash
|
||||
cd build && cmake --build . -- -j check
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
We make use of doxygen to automatically generate API documentation. Generated document can be found in the following path:
|
||||
|
||||
```bash
|
||||
# ROCM_PATH by default is /opt/rocm
|
||||
# It can be set by the user in different location if needed.
|
||||
<ROCM_PATH>/share/doc/rocprofv2
|
||||
```
|
||||
|
||||
installation:
|
||||
```bash
|
||||
rocprofiler-docs_9.0.0-local_amd64.deb
|
||||
rocprofiler-docs-9.0.0-local.x86_64.rpm
|
||||
```
|
||||
|
||||
## Samples
|
||||
|
||||
- Profiling: Profiling Samples depending on replay mode
|
||||
- Tracing: Tracing Samples
|
||||
|
||||
installation:
|
||||
```bash
|
||||
rocprofiler-samples_9.0.0-local_amd64.deb
|
||||
rocprofiler-samples-9.0.0-local.x86_64.rpm
|
||||
```
|
||||
|
||||
usage:
|
||||
|
||||
samples can be run as independent executables once installed
|
||||
|
||||
## Project Structure
|
||||
|
||||
- bin: ROCProf scripts along with V1 post processing scripts
|
||||
- doc: Documentation settings for doxygen, V1 API Specifications pdf document.
|
||||
- include:
|
||||
- rocprofiler.h: V1 API Header File
|
||||
- v2:
|
||||
- rocprofiler.h: V2 API Header File
|
||||
- rocprofiler_plugin.h: V2 Tool Plugins API
|
||||
- plugin
|
||||
- file: File Plugin
|
||||
- perfetto: Perfetto Plugin
|
||||
- att: Adavced thread tracer Plugin
|
||||
- ctf: CTF Plugin
|
||||
- samples: Samples of how to use the API, and also input.txt input file samples for counter collection and ATT.
|
||||
- script: Scripts needed for tracing
|
||||
- src: Source files of the project
|
||||
- api: API implementation for rocprofv2
|
||||
- core: Core source files needed for the V1/V2 API
|
||||
- counters: Basic and Derived Counters
|
||||
- hardware: Hardware support
|
||||
- hsa: Provides support for profiler and tracer to communicate with HSA
|
||||
- queues: Intercepting HSA Queues
|
||||
- packets: Packets Preparation for profiling
|
||||
- memory: Memory Pool used in buffers that saves the output data
|
||||
- session: Session Logic
|
||||
- filter: Type of profiling or tracing and its properties
|
||||
- tracer: Tracing support of the session
|
||||
- profiler: Profiling support of the session
|
||||
- spm: SPM support of the session
|
||||
- att: ATT support of the session
|
||||
- tools: Tools needed to run profiling and tracing
|
||||
- rocsys: Controlling Session from another CLI
|
||||
- utils: Utilities needed by the project
|
||||
- tests: Tests folder
|
||||
- CMakeLists.txt: Handles cmake list for the whole project
|
||||
- build.sh: To easily build and compile rocprofiler
|
||||
- CHANGELOG.md: Changes that are happening per release
|
||||
|
||||
## Support
|
||||
|
||||
Please report in the Github Issues
|
||||
|
||||
## Limitations
|
||||
@@ -41,13 +41,13 @@ THE SOFTWARE.
|
||||
*
|
||||
* \section introduction Introduction
|
||||
*
|
||||
* ROCProfiler library, GPU Applications Profiling/Tracing APIs.
|
||||
* The API provides functionality for profiling GPU applications in kernel and
|
||||
* application and user mode and also with no replay mode at all and it
|
||||
* provides the records pool support with an easy sequence of calls, so the
|
||||
* user can be able to profile and trace in easy small steps, our samples code
|
||||
* can give good examples of how to use the API calls for both profiling and
|
||||
* tracing
|
||||
* The ROCProfiler library provides GPU Applications Profiling/Tracing APIs.
|
||||
* The API offers functionality for profiling GPU applications in kernel,
|
||||
* application and user mode. It also supports no replay mode and provides
|
||||
* the records pool support through a simple sequence of calls. This enables
|
||||
* users to profile and trace in easy small steps. Our samples code provides
|
||||
* good examples on how to use the API calls for both profiling and
|
||||
* tracing.
|
||||
*
|
||||
* This document is going to discuss the following:
|
||||
* 1. @ref symbol_versions_group
|
||||
@@ -150,7 +150,7 @@ extern "C" {
|
||||
* Version information about the interface and the associated installed
|
||||
* library.
|
||||
*
|
||||
* The semantic version of the interface following semver.org rules. A client
|
||||
* The semantic version of the interface following <https://semver.org> rules. A client
|
||||
* that uses this interface is only compatible with the installed library if
|
||||
* the major version numbers match and the interface minor version number is
|
||||
* less than or equal to the installed library minor version number.
|
||||
@@ -423,9 +423,8 @@ typedef struct {
|
||||
* @param[out] timestamp The system clock timestamp in nano seconds.
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS The function has been executed
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TIMESTAMP_NOT_APPLICABLE The function
|
||||
* failed to get the timestamp using HSA Function.
|
||||
*
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TIMESTAMP_NOT_APPLICABLE <br />
|
||||
* The function failed to get the timestamp using HSA Function.
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_get_timestamp(rocprofiler_timestamp_t* timestamp)
|
||||
ROCPROFILER_VERSION_9_0;
|
||||
@@ -559,12 +558,12 @@ typedef enum {
|
||||
* @param[in] kind Information kind requested by the user
|
||||
* @param[in] agent_id Agent ID
|
||||
* @param[out] data_size Size of the information data output
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND, if the agent was not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND <br>, if the agent was not found
|
||||
* in the saved agents
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_INFORMATION_MISSING, if the agent
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_INFORMATION_MISSING \n if the agent
|
||||
* was found in the saved agents but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_agent_info_size(
|
||||
@@ -581,11 +580,11 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_agent_info_size(
|
||||
* @param[in] agent_id Agent ID
|
||||
* @param[out] data_size Size of the information data output
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED <br> if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND, if the agent was not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND <br> if the agent was not found
|
||||
* in the saved agents
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_INFORMATION_MISSING, if the agent
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_AGENT_INFORMATION_MISSING \n if the agent
|
||||
* was found in the saved agents but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t
|
||||
@@ -632,13 +631,13 @@ typedef enum {
|
||||
* @param[in] kind Information kind requested by the user
|
||||
* @param[in] agent_id Queue ID
|
||||
* @param[out] data_size Size of the information data output
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_NOT_FOUND, if the queue was not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_NOT_FOUND \n if the queue was not found
|
||||
* in the saved agents
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_INFORMATION_MISSING, if the queue
|
||||
* was found in the saved queues but the required information is missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_INFORMATION_MISSING \n
|
||||
* if the queue was found in the saved queues but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_queue_info_size(
|
||||
rocprofiler_queue_info_kind_t kind, rocprofiler_queue_id_t agent_id,
|
||||
@@ -656,9 +655,9 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_queue_info_size(
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_NOT_FOUND, if the queue was not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_NOT_FOUND \n if the queue was not found
|
||||
* in the saved agents
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_INFORMATION_MISSING, if the queue
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_QUEUE_INFORMATION_MISSING \n if the queue
|
||||
* was found in the saved agents but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t
|
||||
@@ -706,9 +705,9 @@ typedef enum {
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_NOT_FOUND, if the kernel was not
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_NOT_FOUND \n if the kernel was not
|
||||
* found in the saved kernels
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_INFORMATION_MISSING, if the kernel
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_INFORMATION_MISSING \n if the kernel
|
||||
* was found in the saved counters but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_kernel_info_size(
|
||||
@@ -727,9 +726,9 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_kernel_info_size(
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_NOT_FOUND, if the kernel was not
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_NOT_FOUND \n if the kernel was not
|
||||
* found in the saved kernels
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_INFORMATION_MISSING, if the kernel
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_KERNEL_INFORMATION_MISSING \n if the kernel
|
||||
* was found in the saved kernels but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_kernel_info(
|
||||
@@ -826,11 +825,11 @@ typedef enum {
|
||||
* @param[in] counter_id Counter ID
|
||||
* @param[out] data_size Counter Information Data size
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED \n if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND, if the counter was not
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND \n if the counter was not
|
||||
* found in the saved counters
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_INFORMATION_MISSING, if the counter
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_INFORMATION_MISSING \n if the counter
|
||||
* was found in the saved counters but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_counter_info_size(
|
||||
@@ -848,11 +847,11 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_counter_info_size(
|
||||
* @param[in] counter_id Counter ID
|
||||
* @param[out] data Information Data
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED \n if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND, if the counter was not
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND \n if the counter was not
|
||||
* found in the saved counters
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_INFORMATION_MISSING, if the counter
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_COUNTER_INFORMATION_MISSING \n if the counter
|
||||
* was found in the saved counters but the required information is missing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_counter_info(
|
||||
@@ -1236,12 +1235,12 @@ typedef enum {
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND, if the api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND \n if the api data
|
||||
* was not found in the saved api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING, if the
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING \n if the
|
||||
* api data was found in the saved data but the required information is
|
||||
* missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN if the user sent a handle
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN \n if the user sent a handle
|
||||
* that is not related to the requested domain
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_roctx_tracer_api_data_info_size(
|
||||
@@ -1264,12 +1263,12 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_roctx_tracer_api_data_inf
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND, if the api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND \n if the api data
|
||||
* was not found in the saved api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING, if the
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING \n if the
|
||||
* api data was found in the saved data but the required information is
|
||||
* missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN if the user sent a handle
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN \n if the user sent a handle
|
||||
* that is not related to the requested domain
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_roctx_tracer_api_data_info(
|
||||
@@ -1325,12 +1324,12 @@ typedef enum {
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND, if the api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND \n if the api data
|
||||
* was not found in the saved api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING, if the
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING \n if the
|
||||
* api data was found in the saved data but the required information is
|
||||
* missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN if the user sent a handle
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN \n if the user sent a handle
|
||||
* that is not related to the requested domain
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_hsa_tracer_api_data_info_size(
|
||||
@@ -1353,12 +1352,12 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_hsa_tracer_api_data_info_
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND, if the api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND \n if the api data
|
||||
* was not found in the saved api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING, if the
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING \n if the
|
||||
* api data was found in the saved data but the required information is
|
||||
* missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN if the user sent a handle
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN \n if the user sent a handle
|
||||
* that is not related to the requested domain
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_hsa_tracer_api_data_info(
|
||||
@@ -1438,12 +1437,12 @@ typedef enum {
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND, if the api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND \n if the api data
|
||||
* was not found in the saved api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING, if the
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING \n if the
|
||||
* api data was found in the saved data but the required information is
|
||||
* missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN if the user sent a handle
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN \n if the user sent a handle
|
||||
* that is not related to the requested domain
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_hip_tracer_api_data_info_size(
|
||||
@@ -1465,12 +1464,12 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_query_hip_tracer_api_data_info_
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS, if the information was found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND, if the api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_NOT_FOUND \n if the api data
|
||||
* was not found in the saved api data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING, if the
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_TRACER_API_DATA_INFORMATION_MISSING \n if the
|
||||
* api data was found in the saved data but the required information is
|
||||
* missing
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN if the user sent a handle
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_DOMAIN \n if the user sent a handle
|
||||
* that is not related to the requested domain
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_hip_tracer_api_data_info(
|
||||
@@ -1686,9 +1685,9 @@ typedef void (*rocprofiler_buffer_callback_t)(const rocprofiler_record_header_t*
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND may return if
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND \n may return if
|
||||
* the session is not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_CORRUPTED_SESSION_BUFFER may return if
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_CORRUPTED_SESSION_BUFFER \n may return if
|
||||
* the session buffer is corrupted
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_flush_data(
|
||||
@@ -1709,7 +1708,7 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_flush_data(
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_RECORD_CORRUPTED if the function couldn't
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_RECORD_CORRUPTED \n if the function couldn't
|
||||
* get the next record because of corrupted data reported by the previous
|
||||
* record
|
||||
*/
|
||||
@@ -1793,7 +1792,7 @@ rocprofiler_create_session(rocprofiler_replay_mode_t replay_mode,
|
||||
* successfully
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND may return if
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND \n may return if
|
||||
* the session is not found
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t
|
||||
@@ -2046,9 +2045,9 @@ typedef union {
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_SESSION_NOT_FOUND Couldn't find session
|
||||
* associated with the given session identifier
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_FILTER_DATA_MISMATCH The session
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_FILTER_DATA_MISMATCH \n The session
|
||||
* filter can't accept the given data
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_FILTER_DATA_CORRUPTED Data can't be read or
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_FILTER_DATA_CORRUPTED \n Data can't be read or
|
||||
* corrupted
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_create_filter(
|
||||
@@ -2106,7 +2105,7 @@ typedef void (*rocprofiler_sync_callback_t)(rocprofiler_record_tracer_t record,
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_SESSION_NOT_FOUND, Couldn't find session
|
||||
* associated with the given session identifier
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_FILTER_NOT_SUPPORTED, if the filter is not
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_FILTER_NOT_SUPPORTED \n if the filter is not
|
||||
* related to API tracing
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_set_api_trace_sync_callback(
|
||||
@@ -2248,9 +2247,9 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_destroy_buffer(
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_MODE_FILTER_MISMATCH The session
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_MODE_FILTER_MISMATCH \n The session
|
||||
* doesn't have the required mode for that filter type
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_FILTER_DATA_CORRUPTED Data can't be read or
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_FILTER_DATA_CORRUPTED \n Data can't be read or
|
||||
* corrupted
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_INCORRECT_SIZE If the size is less than one
|
||||
* potential record size
|
||||
@@ -2273,13 +2272,13 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_create_ready_session(
|
||||
* successfully
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND may return if
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND \n may return if
|
||||
* the session is not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_MODE_NOT_ADDED if there is no
|
||||
* session_mode added
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_MISSING_SESSION_CALLBACK if any
|
||||
* session_mode is missing callback set
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_HAS_ACTIVE_SESSION if there is already
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_HAS_ACTIVE_SESSION \n if there is already
|
||||
* active session
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_start_session(rocprofiler_session_id_t session_id)
|
||||
@@ -2293,7 +2292,7 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_start_session(rocprofiler_sessi
|
||||
* @param[in] session_id Session ID for the session that will be terminated
|
||||
* @retval ::ROCPROFILER_STATUS_SUCCESS The function has been executed
|
||||
* successfully
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND may return if
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND \n may return if
|
||||
* the session is not found
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_ACTIVE if the session is not
|
||||
* active
|
||||
@@ -2317,7 +2316,7 @@ rocprofiler_terminate_session(rocprofiler_session_id_t session_id) ROCPROFILER_V
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_CORRUPTED_LABEL_DATA may return if
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_CORRUPTED_LABEL_DATA \n may return if
|
||||
* the label pointer can't be read by the API
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_push_range(const char* label)
|
||||
@@ -2354,7 +2353,7 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_pop_range() ROCPROFILER_VERSION
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND If the no active session
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_SESSION_NOT_FOUND \n If the no active session
|
||||
* found
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_start_replay_pass() ROCPROFILER_VERSION_9_0;
|
||||
@@ -2367,7 +2366,7 @@ ROCPROFILER_API rocprofiler_status_t rocprofiler_start_replay_pass() ROCPROFILER
|
||||
* successfully.
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED, if rocprofiler_initialize
|
||||
* wasn't called before or if rocprofiler_finalize is called
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_PASS_NOT_STARTED if there is no pass
|
||||
* @retval ::ROCPROFILER_STATUS_ERROR_PASS_NOT_STARTED \n if there is no pass
|
||||
* started before this call
|
||||
*/
|
||||
ROCPROFILER_API rocprofiler_status_t rocprofiler_end_replay_pass() ROCPROFILER_VERSION_9_0;
|
||||
|
||||
Ссылка в новой задаче
Block a user