rocprofiler-sdk/registration.h File Reference

rocprofiler-sdk/registration.h File Reference#

Rocprofiler SDK Developer API: rocprofiler-sdk/registration.h File Reference
Rocprofiler SDK Developer API 0.4.0
ROCm Profiling API and tools
registration.h File Reference
+ Include dependency graph for registration.h:

Go to the source code of this file.

Data Structures

struct  rocprofiler_client_id_t
 A client refers to an individual or entity engaged in the configuration of ROCprofiler services. e.g: any third party tool like PAPI or any internal tool (Omnitrace). A pointer to this data structure is provided to the client tool initialization function. The name member can be set by the client to assist with debugging (e.g. rocprofiler cannot start your context because there is a conflicting context started by <name> – at least that is the plan). The handle member is a unique identifer assigned by rocprofiler for the client and the client can store it and pass it to the rocprofiler_client_finalize_t function to force finalization (i.e. deactivate all of it's contexts) for the client. More...
 
struct  rocprofiler_tool_configure_result_t
 Data structure containing a initialization, finalization, and data. More...
 

Typedefs

typedef void(* rocprofiler_client_finalize_t) (rocprofiler_client_id_t)
 Prototype for the function pointer provided to tool in rocprofiler_tool_initialize_t. This function can be used to explicitly invoke the client tools rocprofiler_tool_finalize_t finalization function prior to the atexit handler which calls it.
 
typedef int(* rocprofiler_tool_initialize_t) (rocprofiler_client_finalize_t finalize_func, void *tool_data)
 Prototype for the initialize function where a tool creates contexts for the set of rocprofiler services used by the tool.
 
typedef void(* rocprofiler_tool_finalize_t) (void *tool_data)
 Prototype for the finalize function where a tool does any cleanup or output operations once it has finished using rocprofiler services.
 
typedef rocprofiler_tool_configure_result_t *(* rocprofiler_configure_func_t) (uint32_t version, const char *runtime_version, uint32_t priority, rocprofiler_client_id_t *client_id)
 Function pointer typedef for rocprofiler_configure function.
 

Functions

rocprofiler_status_t rocprofiler_is_initialized (int *status)
 Query whether rocprofiler has already scanned the binary for all the instances of rocprofiler_configure (or is currently scanning). If rocprofiler has completed it's scan, clients can directly register themselves with rocprofiler.
 
rocprofiler_status_t rocprofiler_is_finalized (int *status)
 Query rocprofiler finalization status.
 
rocprofiler_tool_configure_result_trocprofiler_configure (uint32_t version, const char *runtime_version, uint32_t priority, rocprofiler_client_id_t *client_id)
 This is the special function that tools define to enable rocprofiler support. The tool should return a pointer to rocprofiler_tool_configure_result_t which will contain a function pointer to (1) an initialization function where all the contexts are created, (2) a finalization function (if necessary) which will be invoked when rocprofiler shutdown and, (3) a pointer to any data that the tool wants communicated between the rocprofiler_tool_configure_result_t::initialize and rocprofiler_tool_configure_result_t::finalize functions. If the user.
 
rocprofiler_status_t rocprofiler_force_configure (rocprofiler_configure_func_t configure_func)
 Function for explicitly registering a configuration with rocprofiler. This can be invoked before any ROCm runtimes (lazily) initialize and context(s) can be started before the runtimes initialize.