diff --git a/projects/rocprofiler-sdk/source/docs/CMakeLists.txt b/projects/rocprofiler-sdk/source/docs/CMakeLists.txt index 00a174b31d..94af2f0588 100644 --- a/projects/rocprofiler-sdk/source/docs/CMakeLists.txt +++ b/projects/rocprofiler-sdk/source/docs/CMakeLists.txt @@ -5,7 +5,7 @@ if(NOT ROCPROFILER_BUILD_DOCS) return() endif() -set(PACKAGE_NAME ${PROJECT_NAME}-sdk) +set(PACKAGE_NAME ${PROJECT_NAME}) include(FetchContent) @@ -124,23 +124,23 @@ doxygen rocprofiler-sdk-roctx.dox doxysphinx build \${WORK_DIR} \${WORK_DIR}/_build/html \${WORK_DIR}/_doxygen/rocprofiler-sdk/html doxysphinx build \${WORK_DIR} \${WORK_DIR}/_build/html \${WORK_DIR}/_doxygen/roctx/html -make html SPHINXOPTS=\"-W --keep-going ${DOCS_BUILD_JOBS} -n\" +make html SPHINXOPTS=\"--keep-going -n -q -T ${DOCS_BUILD_JOBS}\" rm -rf ${PROJECT_SOURCE_DIR}/build-docs ") if(CHMOD_CMD) docs_execute_process(${CHMOD_CMD} +x ${CMAKE_CURRENT_BINARY_DIR}/build-docs.sh) - add_custom_target(docs ALL ${CMAKE_COMMAND} -E env HOME=${DOCS_WD} - ${CMAKE_CURRENT_BINARY_DIR}/build-docs.sh) + add_custom_target(docs ${CMAKE_COMMAND} -E env HOME=${DOCS_WD} + ${CMAKE_CURRENT_BINARY_DIR}/build-docs.sh) else() - add_custom_target(docs ALL ${CMAKE_COMMAND} -E env HOME=${DOCS_WD} ${SHELL_CMD} - ${CMAKE_CURRENT_BINARY_DIR}/build-docs.sh) + add_custom_target(docs ${CMAKE_COMMAND} -E env HOME=${DOCS_WD} ${SHELL_CMD} + ${CMAKE_CURRENT_BINARY_DIR}/build-docs.sh) endif() install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/_build/html/ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/html/${PACKAGE_NAME} COMPONENT docs - USE_SOURCE_PERMISSIONS FILES_MATCHING + OPTIONAL USE_SOURCE_PERMISSIONS FILES_MATCHING PATTERN "*") diff --git a/projects/rocprofiler-sdk/source/docs/_toc.yml.in b/projects/rocprofiler-sdk/source/docs/_toc.yml.in index d4b13f859a..40a6d60929 100644 --- a/projects/rocprofiler-sdk/source/docs/_toc.yml.in +++ b/projects/rocprofiler-sdk/source/docs/_toc.yml.in @@ -31,8 +31,35 @@ subtrees: title: Counter collection services - file: api-reference/pc_sampling title: PC sampling - - file: _doxygen/rocprofiler-sdk/html/index - title: ROCprofiler-SDK API library + - file: api-reference/rocprofiler-sdk_api_reference + subtrees: + - entries: + - file: api-reference/rocprofiler-sdk_api/modules + subtrees: + - entries: + - file: api-reference/rocprofiler-sdk_api/modules/agent_information + - file: api-reference/rocprofiler-sdk_api/modules/buffer_handling + - file: api-reference/rocprofiler-sdk_api/modules/buffer_tracing + - file: api-reference/rocprofiler-sdk_api/modules/callback_tracing + - file: api-reference/rocprofiler-sdk_api/modules/context_management + - file: api-reference/rocprofiler-sdk_api/modules/counter_config + - file: api-reference/rocprofiler-sdk_api/modules/counters + - file: api-reference/rocprofiler-sdk_api/modules/device_counting_service + - file: api-reference/rocprofiler-sdk_api/modules/dispatch_counting_service + - file: api-reference/rocprofiler-sdk_api/modules/external_correalation + - file: api-reference/rocprofiler-sdk_api/modules/intercept_table + - file: api-reference/rocprofiler-sdk_api/modules/internal_threading_management + - file: api-reference/rocprofiler-sdk_api/modules/ompt_registration + - file: api-reference/rocprofiler-sdk_api/modules/pc_sampling_service + - file: api-reference/rocprofiler-sdk_api/modules/thread_trace + - file: api-reference/rocprofiler-sdk_api/modules/tool_registration + - file: api-reference/rocprofiler-sdk_api/global_data_structures_topics_files + subtrees: + - entries: + - file: api-reference/rocprofiler-sdk_api/global_data_structures_topics_files/global_basic_data_types + - file: _doxygen/rocprofiler-sdk/html/topics + - file: _doxygen/rocprofiler-sdk/html/annotated + - file: _doxygen/rocprofiler-sdk/html/files - file: _doxygen/roctx/html/index title: ROCTx API library - caption: Conceptual diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/global_data_structures_topics_files.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/global_data_structures_topics_files.rst new file mode 100644 index 0000000000..918792051d --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/global_data_structures_topics_files.rst @@ -0,0 +1,15 @@ +.. meta:: + :description: The Global Data structures, topics and files reference page. + +.. _global_data_structures_topics_files_reference: + +******************************************************************************* +Global Data structures, topics, files +******************************************************************************* + +This ROCprofiler-SDK API topic covers: + +* :ref:`global_basic_data_types_reference` +* :doc:`../../_doxygen/rocprofiler-sdk/html/topics` +* :doc:`../../_doxygen/rocprofiler-sdk/html/annotated` +* :doc:`../../_doxygen/rocprofiler-sdk/html/files` diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/global_data_structures_topics_files/global_basic_data_types.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/global_data_structures_topics_files/global_basic_data_types.rst new file mode 100644 index 0000000000..830229e69f --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/global_data_structures_topics_files/global_basic_data_types.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The global basic data types reference page. + +.. _global_basic_data_types_reference: + +******************************************************************************* +Global Basic Data Types +******************************************************************************* + +.. doxygengroup:: BASIC_DATA_TYPES + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules.rst new file mode 100644 index 0000000000..b1ff36ca15 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules.rst @@ -0,0 +1,28 @@ +.. meta:: + :description: The ROCprofiler-SDK API modules reference page. + :keywords: AMD, ROCm, modules + +.. _modules_reference: + +******************************************************************************* +Modules +******************************************************************************* + +The ROCprofiler-SDK API is organized into the following modules based on functionality: + +* :ref:`agent_information_reference` +* :ref:`buffer_handling_reference` +* :ref:`buffer_tracing_reference` +* :ref:`callback_tracing_reference` +* :ref:`context_management_reference` +* :ref:`counters_reference` +* :ref:`counter_config_reference` +* :ref:`device_counting_service_reference` +* :ref:`dispatch_counting_service_reference` +* :ref:`external_correlation_reference` +* :ref:`intercept_table_reference` +* :ref:`internal_threading_management_reference` +* :ref:`ompt_registration_reference` +* :ref:`pc_sampling_service_reference` +* :ref:`thread_trace_reference` +* :ref:`tool_registration_reference` diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/agent_information.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/agent_information.rst new file mode 100644 index 0000000000..cbaf66c6a8 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/agent_information.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The Agent Information reference page. + +.. _agent_information_reference: + +******************************************************************************* +Agent Information +******************************************************************************* + +.. doxygengroup:: AGENTS + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/buffer_handling.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/buffer_handling.rst new file mode 100644 index 0000000000..d4072c5be3 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/buffer_handling.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The buffer handling reference page. + +.. _buffer_handling_reference: + +******************************************************************************* +Buffer handling +******************************************************************************* + +.. doxygengroup:: BUFFER_HANDLING + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/buffer_tracing.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/buffer_tracing.rst new file mode 100644 index 0000000000..00be074665 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/buffer_tracing.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The buffer tracing reference page. + +.. _buffer_tracing_reference: + +******************************************************************************* +Buffer tracing +******************************************************************************* + +.. doxygengroup:: BUFFER_TRACING_SERVICE + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/callback_tracing.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/callback_tracing.rst new file mode 100644 index 0000000000..1c5dd0318c --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/callback_tracing.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The callback tracing reference page. + +.. _callback_tracing_reference: + +******************************************************************************* +Callback tracing +******************************************************************************* + +.. doxygengroup:: CALLBACK_TRACING_SERVICE + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/context_management.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/context_management.rst new file mode 100644 index 0000000000..e051c88f40 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/context_management.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The context management reference page. + +.. _context_management_reference: + +******************************************************************************* +Context management +******************************************************************************* + +.. doxygengroup:: CONTEXT_OPERATIONS + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/counter_config.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/counter_config.rst new file mode 100644 index 0000000000..9085ef9296 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/counter_config.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The counter config reference page. + +.. _counter_config_reference: + +******************************************************************************* +Counter config +******************************************************************************* + +.. doxygengroup:: COUNTER_CONFIG + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/counters.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/counters.rst new file mode 100644 index 0000000000..67ffd2e602 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/counters.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The counters reference page. + +.. _counters_reference: + +******************************************************************************* +Counters +******************************************************************************* + +.. doxygengroup:: COUNTERS + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/device_counting_service.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/device_counting_service.rst new file mode 100644 index 0000000000..3a583de3b1 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/device_counting_service.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The device counting service reference page. + +.. _device_counting_service_reference: + +******************************************************************************* +Device counting service +******************************************************************************* + +.. doxygengroup:: device_counting_service + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/dispatch_counting_service.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/dispatch_counting_service.rst new file mode 100644 index 0000000000..559567d416 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/dispatch_counting_service.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The dispatch counting service reference page. + +.. _dispatch_counting_service_reference: + +******************************************************************************* +Dispatch counting service +******************************************************************************* + +.. doxygengroup:: dispatch_counting_service + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/external_correalation.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/external_correalation.rst new file mode 100644 index 0000000000..a23f479b94 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/external_correalation.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The external correlation reference page. + +.. _external_correlation_reference: + +******************************************************************************* +External correlation +******************************************************************************* + +.. doxygengroup:: EXTERNAL_CORRELATION + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/intercept_table.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/intercept_table.rst new file mode 100644 index 0000000000..37abb76c1c --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/intercept_table.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The Intercept table reference page. + +.. _intercept_table_reference: + +******************************************************************************* +Intercept table +******************************************************************************* + +.. doxygengroup:: INTERCEPT_TABLE + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/internal_threading_management.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/internal_threading_management.rst new file mode 100644 index 0000000000..d08ea2dac8 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/internal_threading_management.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The intenal threading management reference page. + +.. _internal_threading_management_reference: + +******************************************************************************* +Internal threading management +******************************************************************************* + +.. doxygengroup:: INTERNAL_THREADING + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/ompt_registration.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/ompt_registration.rst new file mode 100644 index 0000000000..5f63c43fd9 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/ompt_registration.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The OMPT Registration reference page. + +.. _ompt_registration_reference: + +******************************************************************************* +OMPT Registration +******************************************************************************* + +.. doxygengroup:: OMPT_REGISTRATION + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/pc_sampling_service.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/pc_sampling_service.rst new file mode 100644 index 0000000000..547e01c9df --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/pc_sampling_service.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The PC Sampling service reference page. + +.. _pc_sampling_service_reference: + +******************************************************************************* +PC Sampling service +******************************************************************************* + +.. doxygengroup:: PC_SAMPLING_SERVICE + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/thread_trace.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/thread_trace.rst new file mode 100644 index 0000000000..e0218b29d7 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/thread_trace.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The thread trace reference page. + +.. _thread_trace_reference: + +******************************************************************************* +Thread trace +******************************************************************************* + +.. doxygengroup:: THREAD_TRACE + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/tool_registration.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/tool_registration.rst new file mode 100644 index 0000000000..eafd8b1b28 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api/modules/tool_registration.rst @@ -0,0 +1,11 @@ +.. meta:: + :description: The tool registration reference page. + +.. _tool_registration_reference: + +******************************************************************************* +Tool registration +******************************************************************************* + +.. doxygengroup:: REGISTRATION_GROUP + :content-only: diff --git a/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api_reference.rst b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api_reference.rst new file mode 100644 index 0000000000..b99b2df678 --- /dev/null +++ b/projects/rocprofiler-sdk/source/docs/api-reference/rocprofiler-sdk_api_reference.rst @@ -0,0 +1,14 @@ +.. meta:: + :description: ROCprofiler-SDK API reference page + :keywords: AMD, ROCm, HSA + +.. _rocprofiler_sdk_api_reference: + +******************************************************************************** +ROCprofiler-SDK API library +******************************************************************************** + +This ROCprofiler-SDK API topic covers: + +* :ref:`modules_reference` +* :ref:`global_data_structures_topics_files_reference` diff --git a/projects/rocprofiler-sdk/source/docs/conf.py b/projects/rocprofiler-sdk/source/docs/conf.py index 64c535857c..61bd5272b5 100644 --- a/projects/rocprofiler-sdk/source/docs/conf.py +++ b/projects/rocprofiler-sdk/source/docs/conf.py @@ -41,17 +41,6 @@ def build_doxyfile(): ) -def configure_version_header(): - sp.run( - [ - "cmake", - f"-S {_srcdir}/source/include/rocprofiler-sdk", - f"-B {_srcdir}/source/include/rocprofiler-sdk", - ] - ) - - -configure_version_header() build_doxyfile() # -- Project information ----------------------------------------------------- @@ -78,7 +67,7 @@ doxygen_root = "." doxysphinx_enabled = True doxygen_project = { "name": "rocprofiler-sdk", - "path": "_doxygen", + "path": "_doxygen/rocprofiler-sdk/xml", } doxyfile = "rocprofiler-sdk.dox" diff --git a/projects/rocprofiler-sdk/source/docs/index.rst b/projects/rocprofiler-sdk/source/docs/index.rst index 884ec48077..0c48f58ea0 100644 --- a/projects/rocprofiler-sdk/source/docs/index.rst +++ b/projects/rocprofiler-sdk/source/docs/index.rst @@ -43,7 +43,7 @@ The documentation is structured as follows: * :doc:`Callback services ` * :doc:`Counter collection services ` * :doc:`PC sampling ` - * :doc:`ROCprofiler-SDK API library <_doxygen/rocprofiler-sdk/html/index>` + * :doc:`ROCprofiler-SDK API ` * :doc:`ROCTx API library <_doxygen/roctx/html/index>` .. grid-item-card:: Conceptual diff --git a/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk-roctx.dox.in b/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk-roctx.dox.in index 205336a4d3..e011d980d3 100644 --- a/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk-roctx.dox.in +++ b/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk-roctx.dox.in @@ -65,7 +65,7 @@ TIMESTAMP = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -EXTRACT_ALL = YES +EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_PRIV_VIRTUAL = NO EXTRACT_PACKAGE = NO @@ -73,9 +73,9 @@ EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = YES EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO -RESOLVE_UNNAMED_PARAMS = YES +RESOLVE_UNNAMED_PARAMS = NO HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = YES +HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO @@ -84,8 +84,8 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO SHOW_HEADERFILE = YES SHOW_INCLUDE_FILES = YES -SHOW_GROUPED_MEMB_INC = NO -FORCE_LOCAL_INCLUDES = YES +SHOW_GROUPED_MEMB_INC = YES +FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO @@ -110,12 +110,12 @@ CITE_BIB_FILES = #--------------------------------------------------------------------------- QUIET = YES WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES +WARN_IF_UNDOCUMENTED = NO WARN_IF_DOC_ERROR = YES WARN_IF_INCOMPLETE_DOC = YES WARN_NO_PARAMDOC = YES WARN_IF_UNDOC_ENUM_VAL = NO -WARN_AS_ERROR = NO +WARN_AS_ERROR = YES WARN_FORMAT = "---> WARNING! $file:$line: $text" WARN_LINE_FORMAT = "at line $line of file $file" WARN_LOGFILE = @@ -148,21 +148,22 @@ EXCLUDE_PATTERNS = */.git/* \ @SOURCE_DIR@/**/cmake/* \ @SOURCE_DIR@/**/external/* \ @SOURCE_DIR@/**/RPM/* \ - @SOURCE_DIR@/**/ISSUE_TEMPLATE/* - + @SOURCE_DIR@/**/ISSUE_TEMPLATE/* \ + @SOURCE_DIR@/**/rocprofiler-sdk/**/* \ + @SOURCE_DIR@/**/rocprofiler-sdk-roctx/api_trace.h EXCLUDE_SYMBOLS = "std::*" \ - "ROCPROFILER_ATTRIBUTE" \ - "ROCPROFILER_API" \ - "ROCPROFILER_NONNULL" \ - "ROCPROFILER_PUBLIC_API" \ - "ROCPROFILER_HIDDEN_API" \ - "ROCPROFILER_EXPORT_DECORATOR" \ - "ROCPROFILER_IMPORT_DECORATOR" \ - "ROCPROFILER_EXPORT" \ - "ROCPROFILER_IMPORT" \ - "ROCPROFILER_HANDLE_LITERAL" \ - "ROCPROFILER_EXTERN_C_INIT" \ - "ROCPROFILER_EXTERN_C_FINI" + "ROCTX_ATTRIBUTE" \ + "ROCTX_API" \ + "ROCTX_NONNULL" \ + "ROCTX_PUBLIC_API" \ + "ROCTX_HIDDEN_API" \ + "ROCTX_EXPORT_DECORATOR" \ + "ROCTX_IMPORT_DECORATOR" \ + "ROCTX_EXPORT" \ + "ROCTX_IMPORT" \ + "ROCTX_HANDLE_LITERAL" \ + "ROCTX_EXTERN_C_INIT" \ + "ROCTX_EXTERN_C_FINI" EXAMPLE_PATH = @SOURCE_DIR@/samples EXAMPLE_PATTERNS = *.h \ *.hh \ @@ -177,7 +178,7 @@ INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = FORTRAN_COMMENT_AFTER = 72 #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -202,10 +203,10 @@ IGNORE_PREFIX = GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_EXTRA_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = HTML_COLORSTYLE = LIGHT HTML_COLORSTYLE_HUE = 220 @@ -339,17 +340,17 @@ SEARCH_INCLUDES = NO INCLUDE_PATH = @SOURCE_DIR@/source/include INCLUDE_FILE_PATTERNS = *.h \ *.hpp -PREDEFINED = "ROCPROFILER_API=" \ - "ROCPROFILER_EXPORT=" \ - "ROCPROFILER_IMPORT=" \ - "ROCPROFILER_NONNULL(...)=" \ - "ROCPROFILER_PUBLIC_API=" \ - "ROCPROFILER_HIDDEN_API=" \ - "ROCPROFILER_EXPORT_DECORATOR=" \ - "ROCPROFILER_IMPORT_DECORATOR=" \ - "ROCPROFILER_HANDLE_LITERAL=" \ - "ROCPROFILER_EXTERN_C_INIT=" \ - "ROCPROFILER_EXTERN_C_FINI=" \ +PREDEFINED = "ROCTX_API=" \ + "ROCTX_EXPORT=" \ + "ROCTX_IMPORT=" \ + "ROCTX_NONNULL(...)=" \ + "ROCTX_PUBLIC_API=" \ + "ROCTX_HIDDEN_API=" \ + "ROCTX_EXPORT_DECORATOR=" \ + "ROCTX_IMPORT_DECORATOR=" \ + "ROCTX_HANDLE_LITERAL=" \ + "ROCTX_EXTERN_C_INIT=" \ + "ROCTX_EXTERN_C_FINI=" \ "__attribute__(x)=" \ "__declspec(x)=" \ "size_t=unsigned long" \ diff --git a/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk.dox.in b/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk.dox.in index a87e104428..8292939eb4 100644 --- a/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk.dox.in +++ b/projects/rocprofiler-sdk/source/docs/rocprofiler-sdk.dox.in @@ -65,7 +65,7 @@ TIMESTAMP = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -EXTRACT_ALL = YES +EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_PRIV_VIRTUAL = NO EXTRACT_PACKAGE = NO @@ -73,7 +73,7 @@ EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = YES EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO -RESOLVE_UNNAMED_PARAMS = YES +RESOLVE_UNNAMED_PARAMS = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = YES HIDE_FRIEND_COMPOUNDS = NO @@ -84,8 +84,8 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO SHOW_HEADERFILE = YES SHOW_INCLUDE_FILES = YES -SHOW_GROUPED_MEMB_INC = NO -FORCE_LOCAL_INCLUDES = YES +SHOW_GROUPED_MEMB_INC = YES +FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO @@ -110,7 +110,7 @@ CITE_BIB_FILES = #--------------------------------------------------------------------------- QUIET = YES WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES +WARN_IF_UNDOCUMENTED = NO WARN_IF_DOC_ERROR = YES WARN_IF_INCOMPLETE_DOC = YES WARN_NO_PARAMDOC = YES @@ -140,8 +140,7 @@ FILE_PATTERNS = *.h \ *.tcc \ conf.py RECURSIVE = YES -EXCLUDE = @SOURCE_DIR@/README.md \ - @SOURCE_DIR@/include/rocprofiler-sdk/rccl/details/rccl.h +EXCLUDE = @SOURCE_DIR@/README.md EXCLUDE_SYMLINKS = YES EXCLUDE_PATTERNS = */.git/* \ @SOURCE_DIR@/**/tests/* \ @@ -150,7 +149,11 @@ EXCLUDE_PATTERNS = */.git/* \ @SOURCE_DIR@/**/cmake/* \ @SOURCE_DIR@/**/external/* \ @SOURCE_DIR@/**/RPM/* \ - @SOURCE_DIR@/**/ISSUE_TEMPLATE/* + @SOURCE_DIR@/**/ISSUE_TEMPLATE/* \ + @SOURCE_DIR@/**/rocprofiler-sdk/ompt/omp-tools.h \ + @SOURCE_DIR@/**/rocprofiler-sdk/rccl/details/* \ + @SOURCE_DIR@/**/rocprofiler-sdk/rocdecode/details/* \ + @SOURCE_DIR@/**/rocprofiler-sdk/rocjpeg/details/* EXCLUDE_SYMBOLS = "std::*" \ "ROCPROFILER_ATTRIBUTE" \ "ROCPROFILER_API" \ @@ -163,7 +166,10 @@ EXCLUDE_SYMBOLS = "std::*" \ "ROCPROFILER_IMPORT" \ "ROCPROFILER_HANDLE_LITERAL" \ "ROCPROFILER_EXTERN_C_INIT" \ - "ROCPROFILER_EXTERN_C_FINI" + "ROCPROFILER_EXTERN_C_FINI" \ + "ROCPROFILER_SDK_DEPRECATED_WARNINGS" \ + "ROCPROFILER_SDK_EXPERIMENTAL_WARNINGS" \ + "ROCPROFILER_*_LAST" EXAMPLE_PATH = @SOURCE_DIR@/samples EXAMPLE_PATTERNS = *.h \ *.hh \ @@ -351,6 +357,8 @@ PREDEFINED = "ROCPROFILER_API=" \ "ROCPROFILER_HANDLE_LITERAL=" \ "ROCPROFILER_EXTERN_C_INIT=" \ "ROCPROFILER_EXTERN_C_FINI=" \ + "ROCPROFILER_SDK_DEPRECATED(...)=" \ + "ROCPROFILER_SDK_EXPERIMENTAL=" \ "__attribute__(x)=" \ "__declspec(x)=" \ "size_t=unsigned long" \ @@ -400,7 +408,7 @@ DIAFILE_DIRS = PLANTUML_JAR_PATH = PLANTUML_CFG_FILE = PLANTUML_INCLUDE_PATH = -DOT_GRAPH_MAX_NODES = 100 +DOT_GRAPH_MAX_NODES = 500 MAX_DOT_GRAPH_DEPTH = 0 DOT_MULTI_TARGETS = YES GENERATE_LEGEND = YES diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/roctx.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/roctx.h index 480014e311..0f33a34f9f 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/roctx.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/roctx.h @@ -23,12 +23,12 @@ #pragma once /** - * \file roctx.h - * \brief ROCTx API interface for AMD code annotation and profiling + * @file roctx.h + * @brief ROCTx API interface for AMD code annotation and profiling * - * \mainpage ROCTx API Specification + * @mainpage ROCTx API Specification * - * \section introduction Introduction + * @section introduction Introduction * ROCTx is a comprehensive library that implements the AMD code annotation API. It provides * essential functionality for: * - Event annotation and marking @@ -64,8 +64,8 @@ * - 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 user's responsibility + * @note All string parameters must be null-terminated + * @warning Proper nesting of range push/pop operations is user's responsibility */ #include @@ -77,7 +77,7 @@ ROCTX_EXTERN_C_INIT -/** \defgroup marker_group ROCTx Markers +/** @defgroup marker_group ROCTx Markers * * Marker annotations are used to describe events in a ROCm application. * @@ -87,14 +87,14 @@ ROCTX_EXTERN_C_INIT /** * Mark an event. * - * \param[in] message The message associated with the event. + * @param[in] message The message associated with the event. */ void roctxMarkA(const char* message) ROCTX_API ROCTX_NONNULL(1); /** @} */ -/** \defgroup range_group ROCTx Ranges +/** @defgroup range_group ROCTx Ranges * * Range annotations are used to describe events in a ROCm application. * @@ -106,9 +106,9 @@ roctxMarkA(const char* message) ROCTX_API ROCTX_NONNULL(1); * * Nested ranges are stacked and local to the current CPU thread. * - * \param[in] message The message associated with this range. + * @param[in] message The message associated with this range. * - * \return Returns the level this nested range is started at. Nested range + * @return Returns the level this nested range is started at. Nested range * levels are 0 based. */ int @@ -121,7 +121,7 @@ roctxRangePushA(const char* message) ROCTX_API ROCTX_NONNULL(1); * was active before the last one was started, it becomes again the current * nested range. * - * \return Returns the level the stopped nested range was started at, or a + * @return Returns the level the stopped nested range was started at, or a * negative value if there was no nested range active. */ int @@ -142,13 +142,15 @@ roctxRangeStartA(const char* message) ROCTX_API ROCTX_NONNULL(1); /** * Stop a process range. + * + * @param [in] id ::roctx_range_id_t returned from ::roctxRangeStartA to stop */ void roctxRangeStop(roctx_range_id_t id) ROCTX_API; /** @} */ -/** \defgroup PROFILER_COMM ROCTx Application control/customization of profiling tools +/** @defgroup PROFILER_COMM ROCTx Application control/customization of profiling tools * * Applications can invoke these functions to control/customize profiling tool behavior. * @@ -204,7 +206,7 @@ roctxProfilerResume(roctx_thread_id_t tid) ROCTX_API; * failure while executing the request or lack of support */ int -roctxNameOsThread(const char*) ROCTX_API ROCTX_NONNULL(1); +roctxNameOsThread(const char* name) ROCTX_API ROCTX_NONNULL(1); /** * @brief Indicate to a profiling tool that, where possible, you would like the given HSA agent @@ -214,13 +216,13 @@ roctxNameOsThread(const char*) ROCTX_API ROCTX_NONNULL(1); * support for this capability is tool specific. * * @param [in] name Name for the specified agent - * @param [in] stream Pointer to a HSA agent identifier + * @param [in] agent Pointer to a HSA agent identifier * * @return int A profiling tool may choose to set this value to a non-zero value to indicate a * failure while executing the request or lack of support */ int -roctxNameHsaAgent(const char* name, const struct hsa_agent_s*) ROCTX_API ROCTX_NONNULL(1, 2); +roctxNameHsaAgent(const char* name, const struct hsa_agent_s* agent) ROCTX_API ROCTX_NONNULL(1, 2); /** * @brief Indicate to a profiling tool that, where possible, you would like the given HIP device id @@ -256,7 +258,7 @@ roctxNameHipStream(const char* name, const struct ihipStream_t* stream) ROCTX_AP /** @} */ -/** \defgroup UTILITIES ROCTx Utility functions +/** @defgroup UTILITIES ROCTx Utility functions * * @{ */ @@ -278,13 +280,16 @@ roctxGetThreadId(roctx_thread_id_t* tid) ROCTX_API ROCTX_NONNULL(1); ROCTX_EXTERN_C_FINI #if !defined(roctxRangeStart) +/** @brief For future compatibility */ # define roctxRangeStart(message) roctxRangeStartA(message) #endif #if !defined(roctxMark) +/** @brief For future compatibility */ # define roctxMark(message) roctxMarkA(message) #endif #if !defined(roctxRangePush) +/** @brief For future compatibility */ # define roctxRangePush(message) roctxRangePushA(message) #endif diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/types.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/types.h index 323bfa76c3..3862780452 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/types.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk-roctx/types.h @@ -26,7 +26,7 @@ #include -/** \defgroup DATA_TYPE ROCTx Data types +/** @defgroup DATA_TYPE ROCTx Data types * * Data types defined or aliased by ROCTx * diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/agent.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/agent.h index a1ece80627..8fbff5e498 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/agent.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/agent.h @@ -72,8 +72,8 @@ typedef struct rocprofiler_agent_io_link_t HSA_IOLINKTYPE type; ///< Discoverable IoLink Properties (optional) uint32_t version_major; ///< Bus interface version (optional) uint32_t version_minor; ///< Bus interface version (optional) - uint32_t node_from; ///< See @ref rocprofiler_agent_id_t - uint32_t node_to; ///< See @ref rocprofiler_agent_id_t + uint32_t node_from; ///< See ::rocprofiler_agent_id_t + uint32_t node_to; ///< See ::rocprofiler_agent_id_t uint32_t weight; ///< weight factor (derived from CDIT) uint32_t min_latency; ///< minimum cost of time to transfer (rounded to ns) uint32_t max_latency; ///< maximum cost of time to transfer (rounded to ns) @@ -183,27 +183,25 @@ typedef struct rocprofiler_agent_v0_t uint32_t max_engine_clk_fcompute; ///< GPU only. Maximum engine clocks for GPU, including any ///< boost capabilities HSA_ENGINE_VERSION sdma_fw_version; ///< GPU only - HSA_ENGINE_ID - fw_version; ///< GPU only. Identifier (rev) of the GPU uEngine or Firmware, may be 0 - HSA_CAPABILITY capability; ///< GPU only - uint32_t cu_per_engine; ///< computed - uint32_t max_waves_per_cu; ///< computed - uint32_t family_id; ///< Family code + HSA_ENGINE_ID fw_version; + HSA_CAPABILITY capability; ///< GPU only + uint32_t cu_per_engine; ///< computed + uint32_t max_waves_per_cu; ///< computed + uint32_t family_id; ///< Family code uint32_t workgroup_max_size; ///< GPU only. Maximum total number of work-items in a work-group. - uint32_t grid_max_size; ///< GPU only. Maximum number of fbarriers per work-group. Must be at - ///< least 32. - uint64_t local_mem_size; ///< GPU only. Local memory size - uint64_t hive_id; ///< XGMI Hive the GPU node belongs to in the system. It is an opaque and - ///< static number hash created by the PSP + uint32_t grid_max_size; ///< GPU only. Maximum number of fbarriers per work-group. Must be at + ///< least 32. + uint64_t local_mem_size; ///< GPU only. Local memory size + uint64_t hive_id; uint64_t gpu_id; ///< GPU only. KFD identifier rocprofiler_dim3_t workgroup_max_dim; ///< GPU only. Maximum number of work-items of each ///< dimension of a work-group. rocprofiler_dim3_t grid_max_dim; ///< GPU only. Maximum number of work-items of each dimension ///< of a grid. - const rocprofiler_agent_mem_bank_t* mem_banks; - const rocprofiler_agent_cache_t* caches; - const rocprofiler_agent_io_link_t* io_links; - const char* name; + const rocprofiler_agent_mem_bank_t* mem_banks; ///< array of memory bank info + const rocprofiler_agent_cache_t* caches; ///< array of cache info + const rocprofiler_agent_io_link_t* io_links; ///< array of IO link info + const char* name; ///< name of the agent const char* vendor_name; ///< Vendor of agent (will be AMD) const char* product_name; ///< Marketing name const char* model_name; @@ -213,6 +211,13 @@ typedef struct rocprofiler_agent_v0_t rocprofiler_agent_runtime_visiblity_t runtime_visibility; rocprofiler_uuid_t uuid; ///< GPU only. Universally unique identifier. + /// @var fw_version + /// @brief GPU only. Identifier (rev) of the GPU uEngine or Firmware, may be 0 + /// + /// @var hive_id + /// @brief XGMI Hive the GPU node belongs to in the system. It is an opaque and + /// static number hash created by the PSP + /// /// @var name /// @brief Name of the agent. Will be identical to product name for CPU /// @@ -234,7 +239,8 @@ typedef struct rocprofiler_agent_v0_t /// at runtime (i.e. HIP_VISIBLE_DEVICES and ROCR_VISIBLE_DEVICES) which start at zero and only /// apply to GPUs, e.g., logical_node_type_id value for first GPU will be 0, second GPU will /// have value of 1, etc., regardless of however many agents of a different type preceeded (and - /// thus increased the ::node_id or ::logical_node_id). + /// thus increased the ::rocprofiler_agent_v0_t.node_id or + /// ::rocprofiler_agent_v0_t.logical_node_id). /// /// Example: a system with 2 CPUs and 2 GPUs, where the node ids are 0=CPU, 1=GPU, 2=CPU, 3=GPU, /// then then CPU node_ids 0 and 2 would have logical_node_type_id values of 0 and 1, @@ -242,13 +248,17 @@ typedef struct rocprofiler_agent_v0_t /// and 1. /// /// @var runtime_visibility - /// @brief See @rocprofiler_runtime_library_t. This is an estimate about whether this agent will - /// be visible for the runtimes, e.g. if (agent.runtime_visibility & ROCPROFILER_HIP_LIBRARY) != - /// 0 then we believe this agent will be visible to the HIP library. However, this is an - /// estimate and we cannot be certain until the HIP runtime is initialized. This will always be - /// true for CPU agents. + /// @brief See ::rocprofiler_runtime_library_t. This is an estimate about whether this agent + /// will be visible for the runtimes, e.g. if (`::rocprofiler_agent_t.runtime_visibility & + /// ::ROCPROFILER_HIP_LIBRARY) != 0` then we believe this agent will be visible to the HIP + /// library. However, this is an estimate and we cannot be certain until the HIP runtime is + /// initialized. This will always be true for CPU agents. } rocprofiler_agent_v0_t; +/** + * @brief Typedef for the current ::rocprofiler_agent_version_t + * + */ typedef rocprofiler_agent_v0_t rocprofiler_agent_t; /** diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h index 24da823d8f..399cd7b51b 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h @@ -422,7 +422,7 @@ typedef struct rocprofiler_buffer_tracing_runtime_initialization_record_t } rocprofiler_buffer_tracing_runtime_initialization_record_t; /** - * @brief Callback function for mapping @ref rocprofiler_buffer_tracing_kind_t ids to + * @brief Callback function for mapping ::rocprofiler_buffer_tracing_kind_t ids to * string names. @see rocprofiler_iterate_buffer_trace_kind_names. */ typedef int (*rocprofiler_buffer_tracing_kind_cb_t)(rocprofiler_buffer_tracing_kind_t kind, @@ -522,6 +522,7 @@ rocprofiler_query_buffer_tracing_kind_operation_name(rocprofiler_buffer_tracing_ * @param [in] callback Callback function invoked for each enumeration value in @ref * rocprofiler_buffer_tracing_kind_t with the exception of the `NONE` and `LAST` values. * @param [in] data User data passed back into the callback + * @return ::rocprofiler_status_t */ rocprofiler_status_t rocprofiler_iterate_buffer_tracing_kinds(rocprofiler_buffer_tracing_kind_cb_t callback, @@ -537,6 +538,7 @@ rocprofiler_iterate_buffer_tracing_kinds(rocprofiler_buffer_tracing_kind_cb_t ca * @param [in] callback Callback function invoked for each operation associated with @ref * rocprofiler_buffer_tracing_kind_t with the exception of the `NONE` and `LAST` values. * @param [in] data User data passed back into the callback + * @return ::rocprofiler_status_t */ rocprofiler_status_t rocprofiler_iterate_buffer_tracing_kind_operations( @@ -574,16 +576,17 @@ typedef int (*rocprofiler_buffer_tracing_operation_args_cb_t)( /** * @brief Iterates over all the arguments for the traced function (when available). This is * particularly useful when tools want to annotate traces with the function arguments. See - * @example samples/api_buffer_tracing/client.cpp for a usage example. + * @example samples/api_buffered_tracing/client.cpp for a usage example. * * In contrast to ::rocprofiler_iterate_callback_tracing_kind_operation_args, this function * cannot dereference pointer arguments since there is a high probability that the pointer * address references the stack and the buffer tracing record is delivered after the * stack variables of the corresponding function have been destroyed. * - * @param[in] record Buffer record - * @param[in] callback The callback function which will be invoked for each argument - * @param[in] user_data Data to be passed to each invocation of the callback + * @param [in] record Buffer record + * @param [in] callback The callback function which will be invoked for each argument + * @param [in] user_data Data to be passed to each invocation of the callback + * @return ::rocprofiler_status_t */ rocprofiler_status_t rocprofiler_iterate_buffer_tracing_record_args( diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h index fc03961da8..4776c9c6e4 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h @@ -175,19 +175,19 @@ typedef struct rocprofiler_callback_tracing_code_object_load_data_t struct { int storage_file; ///< file descriptor of the code object that was loaded. Access this - ///< field if @ref rocprofiler_code_object_storage_type_t is - ///< @ref ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_FILE + ///< field if ::rocprofiler_code_object_storage_type_t is + ///< ::ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_FILE }; struct { uint64_t memory_base; ///< The memory address of the first byte of the code object that ///< was loaded. Access this - ///< field if @ref rocprofiler_code_object_storage_type_t is - ///< @ref ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_MEMORY - uint64_t memory_size; ///< The memory size in bytes of the code object that was loaded. - ///< Access this field if @ref - ///< rocprofiler_code_object_storage_type_t is - ///< @ref ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_MEMORY + ///< field if ::rocprofiler_code_object_storage_type_t is + ///< ::ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_MEMORY + uint64_t + memory_size; ///< The memory size in bytes of the code object that was loaded. + ///< Access this field if ::rocprofiler_code_object_storage_type_t is + ///< ::ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_MEMORY }; }; } rocprofiler_callback_tracing_code_object_load_data_t; @@ -349,7 +349,7 @@ typedef struct rocprofiler_callback_tracing_hip_stream_data_t * @brief API Tracing callback function. This function is invoked twice per API function: once * before the function is invoked and once after the function is invoked. The external correlation * id value within the record is assigned the value at the top of the external correlation id stack. - * It is permissible to invoke @ref rocprofiler_push_external_correlation_id within the enter phase; + * It is permissible to invoke ::rocprofiler_push_external_correlation_id within the enter phase; * when a new external correlation id is pushed during the enter phase, rocprofiler will use that * external correlation id for any async events and provide the new external correlation id during * the exit callback... In other words, pushing a new external correlation id within the enter @@ -368,15 +368,15 @@ typedef void (*rocprofiler_callback_tracing_cb_t)(rocprofiler_callback_tracing_r void* callback_data) ROCPROFILER_NONNULL(2); /** - * @brief Callback function for mapping @ref rocprofiler_callback_tracing_kind_t ids to + * @brief Callback function for mapping ::rocprofiler_callback_tracing_kind_t ids to * string names. @see rocprofiler_iterate_callback_tracing_kind_names. */ typedef int (*rocprofiler_callback_tracing_kind_cb_t)(rocprofiler_callback_tracing_kind_t kind, void* data); /** - * @brief Callback function for mapping the operations of a given @ref - * rocprofiler_callback_tracing_kind_t to string names. @see + * @brief Callback function for mapping the operations of a given + * ::rocprofiler_callback_tracing_kind_t to string names. @see * rocprofiler_iterate_callback_tracing_kind_operation_names. */ typedef int (*rocprofiler_callback_tracing_kind_operation_cb_t)( @@ -417,12 +417,12 @@ typedef int (*rocprofiler_callback_tracing_operation_args_cb_t)( /** * @brief Configure Callback Tracing Service. The callback tracing service provides two synchronous * callbacks around an API function on the same thread as the application which is invoking the API - * function. This function can only be invoked once per @ref - * rocprofiler_callback_tracing_kind_t value, i.e. it can be invoked once for the HSA API, - * once for the HIP API, and so on but it will fail if it is invoked for the HSA API twice. Please - * note, the callback API does have the potentially non-trivial overhead of copying the function - * arguments into the record. If you are willing to let rocprofiler record the timestamps, do not - * require synchronous notifications of the API calls, and want to lowest possible overhead, use the + * function. This function can only be invoked once per ::rocprofiler_callback_tracing_kind_t value, + * i.e. it can be invoked once for the HSA API, once for the HIP API, and so on but it will fail if + * it is invoked for the HSA API twice. Please note, the callback API does have the potentially + * non-trivial overhead of copying the function arguments into the record. If you are willing to let + * rocprofiler record the timestamps, do not require synchronous notifications of the API calls, and + * want to lowest possible overhead, use the * @see BUFFER_TRACING_SERVICE. * * @param [in] context_id Context to associate the service with @@ -435,12 +435,12 @@ typedef int (*rocprofiler_callback_tracing_operation_args_cb_t)( * @param [in] callback_args Data provided to every invocation of the callback function * @return ::rocprofiler_status_t * @retval ::ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED Invoked outside of the initialization - * function in @ref rocprofiler_tool_configure_result_t provided to rocprofiler via @ref - * rocprofiler_configure function + * function in ::rocprofiler_tool_configure_result_t provided to rocprofiler via + * ::rocprofiler_configure function * @retval ::ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND The provided context is not valid/registered - * @retval ::ROCPROFILER_STATUS_ERROR_SERVICE_ALREADY_CONFIGURED if the same @ref - * rocprofiler_callback_tracing_kind_t value is provided more than once (per context) -- in - * other words, we do not support overriding or combining the operations in separate function calls. + * @retval ::ROCPROFILER_STATUS_ERROR_SERVICE_ALREADY_CONFIGURED if the same + * ::rocprofiler_callback_tracing_kind_t value is provided more than once (per context) -- in other + * words, we do not support overriding or combining the operations in separate function calls. * */ rocprofiler_status_t @@ -496,8 +496,8 @@ rocprofiler_query_callback_tracing_kind_operation_name(rocprofiler_callback_trac * @brief Iterate over all the mappings of the callback tracing kinds and get a callback for each * kind. * - * @param [in] callback Callback function invoked for each enumeration value in @ref - * rocprofiler_callback_tracing_kind_t with the exception of the `NONE` and `LAST` values. + * @param [in] callback Callback function invoked for each enumeration value in + * ::rocprofiler_callback_tracing_kind_t with the exception of the `NONE` and `LAST` values. * @param [in] data User data passed back into the callback * @return ::rocprofiler_status_t */ @@ -506,13 +506,13 @@ rocprofiler_iterate_callback_tracing_kinds(rocprofiler_callback_tracing_kind_cb_ void* data) ROCPROFILER_API ROCPROFILER_NONNULL(1); /** - * @brief Iterates over all the mappings of the operations for a given @ref - * rocprofiler_callback_tracing_kind_t and invokes the callback with the kind id, operation - * id, and user-provided data. + * @brief Iterates over all the mappings of the operations for a given + * ::rocprofiler_callback_tracing_kind_t and invokes the callback with the kind id, operation id, + * and user-provided data. * * @param [in] kind which tracing callback kind operations to iterate over - * @param [in] callback Callback function invoked for each operation associated with @ref - * rocprofiler_callback_tracing_kind_t with the exception of the `NONE` and `LAST` values. + * @param [in] callback Callback function invoked for each operation associated with + * ::rocprofiler_callback_tracing_kind_t with the exception of the `NONE` and `LAST` values. * @param [in] data User data passed back into the callback * @return ::rocprofiler_status_t * @retval ::ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND Invalid domain id diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counter_config.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counter_config.h index f0a1c3cce4..32ab566ecc 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counter_config.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counter_config.h @@ -40,7 +40,7 @@ ROCPROFILER_EXTERN_C_INIT * be used across many contexts. The config has a fixed set of counters * that are collected (and specified by counter_list). The available * counters for an agent can be queried using - * @ref rocprofiler_iterate_agent_supported_counters. An existing config + * ::rocprofiler_iterate_agent_supported_counters. An existing config * may be supplied via config_id to use as a base for the new config. * All counters in the existing config will be copied over to the new * config. The existing config will remain unmodified and usable with diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counters.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counters.h index 291f046a10..a63544a8b2 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counters.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/counters.h @@ -99,7 +99,7 @@ rocprofiler_query_record_counter_id(rocprofiler_counter_instance_id_t id, * @brief (experimental) Query dimension position from record_id. If the dimension does not exist * in the counter, the return will be 0. * - * @param [in] id record id from @ref rocprofiler_counter_record_t + * @param [in] id record id from ::rocprofiler_counter_record_t * @param [in] dim dimension for which positional info is requested (currently only * 0 is allowed, i.e. flat array without dimension). * @param [out] pos value of the dimension in id @@ -115,7 +115,7 @@ rocprofiler_query_record_dimension_position(rocprofiler_counter_instance_id_t i * @brief (experimental) Query Counter info such as name or description. * * @param [in] counter_id counter to get info for - * @param [in] version Version of struct in info, see @ref rocprofiler_counter_info_version_id_t for + * @param [in] version Version of struct in info, see ::rocprofiler_counter_info_version_id_t for * available types * @param [out] info rocprofiler_counter_info_{version}_t struct to write info to. * @return ::rocprofiler_status_t @@ -134,10 +134,10 @@ rocprofiler_query_counter_info(rocprofiler_counter_id_t counter_id, * * @param [in] agent_id Agent ID of the current callback * @param [in] counters An array of counters that are avialable on the agent - * @ref rocprofiler_iterate_agent_supported_counters was called on. + * ::rocprofiler_iterate_agent_supported_counters was called on. * @param [in] num_counters Number of counters contained in counters * @param [in] user_data User data supplied by - * @ref rocprofiler_iterate_agent_supported_counters + * ::rocprofiler_iterate_agent_supported_counters */ ROCPROFILER_SDK_EXPERIMENTAL typedef rocprofiler_status_t (*rocprofiler_available_counters_cb_t)( rocprofiler_agent_id_t agent_id, diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/defines.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/defines.h index 142eecea74..0501742537 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/defines.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/defines.h @@ -181,9 +181,13 @@ #endif // TODO(jomadsen): uncomment below code before v1.0.0 -// #if !defined(ROCPROFILER_SDK_DEPRECATED_WARNINGS) -// # define ROCPROFILER_SDK_DEPRECATED_WARNINGS 1 -// #endif +#if !defined(ROCPROFILER_SDK_DEPRECATED_WARNINGS) +# define ROCPROFILER_SDK_DEPRECATED_WARNINGS 0 +#endif + +#if !defined(ROCPROFILER_SDK_EXPERIMENTAL_WARNINGS) +# define ROCPROFILER_SDK_EXPERIMENTAL_WARNINGS 0 +#endif #if defined(ROCPROFILER_SDK_DEPRECATED_WARNINGS) && ROCPROFILER_SDK_DEPRECATED_WARNINGS > 0 # define ROCPROFILER_SDK_DEPRECATED(...) ROCPROFILER_SDK_DEPRECATED_MESSAGE(__VA_ARGS__) diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/dispatch_counting_service.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/dispatch_counting_service.h index d5ee3b53f7..2b1e524e8c 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/dispatch_counting_service.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/dispatch_counting_service.h @@ -69,7 +69,7 @@ typedef struct ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_dispatch_counting_servic * @brief (experimental) Kernel Dispatch Callback. This is a callback that is invoked before the * kernel is enqueued into the HSA queue. What counters to collect for a kernel are set via passing * back a profile config (config) in this callback. These counters will be collected and emplaced in - * the buffer with @ref rocprofiler_buffer_id_t used when setting up this callback. + * the buffer with ::rocprofiler_buffer_id_t used when setting up this callback. * * @param [in] dispatch_data @see ::rocprofiler_dispatch_counting_service_data_t * @param [out] config Profile config detailing the counters to collect for this kernel @@ -86,8 +86,8 @@ typedef void (*rocprofiler_dispatch_counting_service_cb_t)( /** * @brief (experimental) Counting record callback. This is a callback is invoked when the kernel * execution is complete and contains the counter profile data requested in - * @ref rocprofiler_dispatch_counting_service_cb_t. Only used with - * @ref rocprofiler_configure_callback_dispatch_counting_service. + * ::rocprofiler_dispatch_counting_service_cb_t. Only used with + * ::rocprofiler_configure_callback_dispatch_counting_service. * * @param [in] dispatch_data @see ::rocprofiler_dispatch_counting_service_data_t * @param [in] record_data Counter record data. @@ -113,14 +113,14 @@ typedef void (*rocprofiler_dispatch_counting_record_cb_t)( * NOTE: Interface is up for comment as to whether restrictions * on agent should be made here (limiting the CB based on agent) * or if the restriction should be performed by the tool in - * @ref rocprofiler_dispatch_counting_service_cb_t (i.e. + * ::rocprofiler_dispatch_counting_service_cb_t (i.e. * tool code checking the agent param to see if they want to profile * it). * * Interface is up for comment as to whether restrictions * on agent should be made here (limiting the CB based on agent) * or if the restriction should be performed by the tool in - * @ref rocprofiler_dispatch_counting_service_cb_t (i.e. + * ::rocprofiler_dispatch_counting_service_cb_t (i.e. * tool code checking the agent param to see if they want to profile * it). * diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/counters.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/counters.h index 56fea6ed0a..40d7dfff9d 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/counters.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/counters.h @@ -30,7 +30,7 @@ ROCPROFILER_EXTERN_C_INIT /** * @brief (experimental) Apply a custom counter definition (YAML). This function must be called - * before counter iteration functions like @ref rocprofiler_iterate_agent_supported_counters if + * before counter iteration functions like ::rocprofiler_iterate_agent_supported_counters if * custom counter definitions are to be used. This function will return an error if the definition * has already been loaded. * @param [in] yaml YAML string containing counter definitions @@ -46,6 +46,4 @@ rocprofiler_load_counter_definition(const char* yaml, size_t size, rocprofiler_counter_flag_t flags) ROCPROFILER_API; -/** @} */ - ROCPROFILER_EXTERN_C_FINI diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/thread-trace/core.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/thread-trace/core.h index 0852a73bef..9f49b4a27e 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/thread-trace/core.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/experimental/thread-trace/core.h @@ -36,6 +36,10 @@ ROCPROFILER_EXTERN_C_INIT * @{ */ +/** + * @brief Types of ATT parameters + * + */ typedef enum rocprofiler_att_parameter_type_t { ROCPROFILER_ATT_PARAMETER_TARGET_CU = 0, ///< Select the Target CU or WGP @@ -48,6 +52,10 @@ typedef enum rocprofiler_att_parameter_type_t ROCPROFILER_ATT_PARAMETER_LAST } rocprofiler_att_parameter_type_t; +/** + * @brief ATT parameter specification + * + */ typedef struct rocprofiler_att_parameter_t { rocprofiler_att_parameter_type_t type; @@ -64,6 +72,7 @@ typedef struct rocprofiler_att_parameter_t /** * @brief Callback to be triggered every time some ATT data is generated by the device + * @param [in] agent Identifier for the target agent (@see ::rocprofiler_agent_id_t) * @param [in] shader_engine_id ID of shader engine, as enabled by SE_MASK * @param [in] data Pointer to the buffer containing the ATT data * @param [in] data_size Number of bytes in "data" diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h index 70f59c055d..3f41fc1050 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h @@ -634,7 +634,7 @@ typedef struct rocprofiler_correlation_id_t /// @brief An ID specified by tools to associate external events. /// See include/rocprofiler-sdk/external_correlation.h /// @var ancestor - /// @brief Stores the ::internal value of the API call that generated this + /// @brief Stores the @ref internal value of the API call that generated this /// API call. } rocprofiler_correlation_id_t; @@ -694,7 +694,7 @@ typedef struct rocprofiler_counter_id_t */ typedef struct rocprofiler_counter_config_id_t { - uint64_t handle; // Opaque handle + uint64_t handle; ///< Opaque handle } rocprofiler_counter_config_id_t; /** @@ -757,12 +757,16 @@ typedef struct rocprofiler_record_header_t { struct { - uint32_t category; ///< ::rocprofiler_buffer_category_t - uint32_t kind; ///< domain + /** @brief ::rocprofiler_buffer_category_t */ + uint32_t category; + /** @brief domain */ + uint32_t kind; }; - uint64_t hash; ///< generic identifier. You can compute this via: `uint64_t hash = category - ///< | ((uint64_t)(kind) << 32)`, e.g. + /** @brief generic identifier. You can compute this via: `uint64_t hash = category | + * ((uint64_t)(kind) << 32)` */ + uint64_t hash; }; + /** @brief Pointer to data. Should be casted to data type based on category + kind */ void* payload; } rocprofiler_record_header_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/intercept_table.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/intercept_table.h index 3ff70f88bd..06f5292f21 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/intercept_table.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/intercept_table.h @@ -80,7 +80,7 @@ typedef void (*rocprofiler_intercept_library_cb_t)(rocprofiler_intercept_table_t * invocation of one of their public API functions), these runtimes will provide a table of function * pointers to the rocprofiler library via the rocprofiler-register library if the * `rocprofiler_configure` symbol is visible in the application's symbol table. The vast majority of - * tools will want to use the ::CALLBACK_TRACING_SERVICE to trace these runtime APIs, however, + * tools will want to use the @ref CALLBACK_TRACING_SERVICE to trace these runtime APIs, however, * some tools may want or require installing their own intercept functions in lieu of receiving * these callbacks and those tools should use the ::rocprofiler_at_intercept_table_registration * to install their intercept functions. There are no restrictions to where or how early this diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/internal_threading.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/internal_threading.h index 97eef290f2..55ff7e78f6 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/internal_threading.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/internal_threading.h @@ -33,7 +33,7 @@ ROCPROFILER_EXTERN_C_INIT * * @{ * @example api_buffered_tracing/client.cpp - * Example demonstrating ::BUFFER_TRACING_SERVICE that includes usage of + * Example demonstrating @ref BUFFER_TRACING_SERVICE that includes usage of * ::rocprofiler_at_internal_thread_create, ::rocprofiler_create_callback_thread, and * ::rocprofiler_assign_callback_thread. */ diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/pc_sampling.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/pc_sampling.h index f23611ed52..a28dfb2b97 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/pc_sampling.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/pc_sampling.h @@ -255,10 +255,10 @@ typedef struct ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_pc_t /// @var code_object_offset /// @brief If @ref code_object_id is different than ::ROCPROFILER_CODE_OBJECT_ID_NONE, /// then this field contains the offset of the sampled PC relative to the - /// ::rocprofiler_callback_tracing_code_object_load_data_t::load_base + /// ::rocprofiler_callback_tracing_code_object_load_data_t.load_base /// of the code object instance with @ref code_object_id. /// To calculate the original virtual address of the sampled PC, one can add the value - /// of this field to the ::rocprofiler_callback_tracing_code_object_load_data_t::load_base. + /// of this field to the ::rocprofiler_callback_tracing_code_object_load_data_t.load_base. /// The value of @ref code_object_offset matches /// the virtual address of the sampled instruction (PC), only if the /// @ref code_object_id is equal to the ::ROCPROFILER_CODE_OBJECT_ID_NONE. @@ -270,7 +270,7 @@ typedef struct ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_pc_t typedef struct ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_pc_sampling_record_host_trap_v0_t { uint64_t size; ///< Size of this struct - rocprofiler_pc_sampling_hw_id_v0_t hw_id; ///< @see ::rocprofiler_pc_sampling_hw_id_0_t + rocprofiler_pc_sampling_hw_id_v0_t hw_id; ///< @see ::rocprofiler_pc_sampling_hw_id_v0_t rocprofiler_pc_t pc; ///< information about sampled program counter uint64_t exec_mask; ///< active SIMD lanes when sampled uint64_t timestamp; ///< timestamp when sample is generated @@ -355,7 +355,6 @@ typedef enum ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_pc_sampling_instruction_no /// @brief Arbiter issued an instruction, but the execution pipe pushed it back from execution. /// @var ROCPROFILER_PC_SAMPLING_INSTRUCTION_NOT_ISSUED_REASON_OTHER_WAIT /// @brief Other types of wait (e.g., wait for XNACK acknowledgment). - } rocprofiler_pc_sampling_instruction_not_issued_reason_t; /** diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/rocprofiler.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/rocprofiler.h index 50ab8f7d0c..4b050f8c16 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/rocprofiler.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/rocprofiler.h @@ -24,12 +24,12 @@ /** * - * \file rocprofiler.h - * \brief ROCProfiler-SDK API interface. + * @file rocprofiler.h + * @brief ROCProfiler-SDK API interface. * - * \mainpage ROCProfiler-SDK API Specification + * @mainpage ROCProfiler-SDK API Specification * - * \section introduction Introduction + * @section introduction Introduction * ROCprofiler-SDK is a library that implements the profiling and performance monitoring * capabilities for AMD's ROCm platform. It provides a comprehensive set of APIs for: * @@ -84,6 +84,8 @@ ROCPROFILER_EXTERN_C_INIT * @param [out] major The major version number is stored if non-NULL. * @param [out] minor The minor version number is stored if non-NULL. * @param [out] patch The patch version number is stored if non-NULL. + * @return ::rocprofiler_status_t + * @retval ::ROCPROFILER_STATUS_SUCCESS Always returned */ rocprofiler_status_t rocprofiler_get_version(uint32_t* major, uint32_t* minor, uint32_t* patch) ROCPROFILER_API; @@ -96,6 +98,8 @@ rocprofiler_get_version(uint32_t* major, uint32_t* minor, uint32_t* patch) ROCPR * compilation time. This function can be invoked before tool initialization. * * @param [out] info Pointer to version triplet struct which will be populated by the function call. + * @return ::rocprofiler_status_t + * @retval ::ROCPROFILER_STATUS_SUCCESS Always returned */ rocprofiler_status_t rocprofiler_get_version_triplet(rocprofiler_version_triplet_t* info) ROCPROFILER_API @@ -142,6 +146,8 @@ ROCPROFILER_EXTERN_C_INIT * @fn rocprofiler_status_t rocprofiler_get_timestamp(rocprofiler_timestamp_t* ts) * @brief Get the timestamp value that rocprofiler uses * @param [out] ts Output address of the rocprofiler timestamp value + * @return ::rocprofiler_status_t + * @retval ::ROCPROFILER_STATUS_SUCCESS Always returned */ rocprofiler_status_t rocprofiler_get_timestamp(rocprofiler_timestamp_t* ts) ROCPROFILER_API ROCPROFILER_NONNULL(1); @@ -150,24 +156,26 @@ rocprofiler_get_timestamp(rocprofiler_timestamp_t* ts) ROCPROFILER_API ROCPROFIL * @fn rocprofiler_status_t rocprofiler_get_thread_id(rocprofiler_thread_id_t* tid) * @brief Get the identifier value of the current thread that is used by rocprofiler * @param [out] tid Output address of the rocprofiler thread id value + * @return ::rocprofiler_status_t + * @retval ::ROCPROFILER_STATUS_SUCCESS Always returned */ rocprofiler_status_t rocprofiler_get_thread_id(rocprofiler_thread_id_t* tid) ROCPROFILER_API ROCPROFILER_NONNULL(1); /** * @fn const char* rocprofiler_get_status_name(rocprofiler_status_t status) - * @brief Return the string encoding of @ref rocprofiler_status_t value + * @brief Return the string encoding of ::rocprofiler_status_t value * @param [in] status error code value - * @return Will return a nullptr if invalid/unsupported @ref rocprofiler_status_t value is provided. + * @return Will return a nullptr if invalid/unsupported ::rocprofiler_status_t value is provided. */ const char* rocprofiler_get_status_name(rocprofiler_status_t status) ROCPROFILER_API; /** * @fn const char* rocprofiler_get_status_string(rocprofiler_status_t status) - * @brief Return the message associated with @ref rocprofiler_status_t value + * @brief Return the message associated with ::rocprofiler_status_t value * @param [in] status error code value - * @return Will return a nullptr if invalid/unsupported @ref rocprofiler_status_t value is provided. + * @return Will return a nullptr if invalid/unsupported ::rocprofiler_status_t value is provided. */ const char* rocprofiler_get_status_string(rocprofiler_status_t status) ROCPROFILER_API; diff --git a/projects/rocprofiler-sdk/source/scripts/update-docs.sh b/projects/rocprofiler-sdk/source/scripts/update-docs.sh index edface1e65..05e3abfd04 100755 --- a/projects/rocprofiler-sdk/source/scripts/update-docs.sh +++ b/projects/rocprofiler-sdk/source/scripts/update-docs.sh @@ -33,7 +33,7 @@ doxysphinx build ${WORK_DIR} ${WORK_DIR}/_build/html ${WORK_DIR}/_doxygen/rocpro doxysphinx build ${WORK_DIR} ${WORK_DIR}/_build/html ${WORK_DIR}/_doxygen/roctx/html message "Building html documentation" -make html SPHINXOPTS="--keep-going -n" +make html SPHINXOPTS="--keep-going -n -q -T" if [ -d ${SOURCE_DIR}/docs ]; then message "Removing stale documentation in ${SOURCE_DIR}/docs/"