rocprofiler-sdk/buffer_tracing.h File Reference

rocprofiler-sdk/buffer_tracing.h File Reference#

Rocprofiler SDK Developer API: rocprofiler-sdk/buffer_tracing.h File Reference
Rocprofiler SDK Developer API 0.5.0
ROCm Profiling API and tools
buffer_tracing.h File Reference
#include <rocprofiler-sdk/agent.h>
#include <rocprofiler-sdk/defines.h>
#include <rocprofiler-sdk/fwd.h>
#include <stdint.h>
+ Include dependency graph for buffer_tracing.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rocprofiler_buffer_tracing_hsa_api_record_t
 ROCProfiler Buffer HSA API Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_hip_api_record_t
 ROCProfiler Buffer HIP API Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_marker_api_record_t
 ROCProfiler Buffer Marker Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_memory_copy_record_t
 ROCProfiler Buffer Memory Copy Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_kernel_dispatch_record_t
 ROCProfiler Buffer Kernel Dispatch Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_page_migration_page_fault_record_t
 
struct  rocprofiler_buffer_tracing_page_migration_page_migrate_record_t
 
struct  rocprofiler_buffer_tracing_page_migration_queue_suspend_record_t
 
struct  rocprofiler_buffer_tracing_page_migration_unmap_from_gpu_record_t
 
struct  rocprofiler_buffer_tracing_page_migration_record_t
 ROCProfiler Buffer Page Migration Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_scratch_memory_record_t
 ROCProfiler Buffer Scratch Memory Tracer Record. More...
 
struct  rocprofiler_buffer_tracing_correlation_id_retirement_record_t
 ROCProfiler Buffer Correlation ID Retirement Tracer Record. More...
 
union  rocprofiler_buffer_tracing_page_migration_record_t.__unnamed5__
 
struct  rocprofiler_buffer_tracing_page_migration_record_t.__unnamed5__.__unnamed7__
 

Typedefs

typedef int(* rocprofiler_buffer_tracing_kind_cb_t) (rocprofiler_buffer_tracing_kind_t kind, void *data)
 Callback function for mapping rocprofiler_buffer_tracing_kind_t ids to string names.
 
typedef int(* rocprofiler_buffer_tracing_kind_operation_cb_t) (rocprofiler_buffer_tracing_kind_t kind, rocprofiler_tracing_operation_t operation, void *data)
 Callback function for mapping the operations of a given rocprofiler_buffer_tracing_kind_t to string names.
 

Enumerations

enum  rocprofiler_page_migration_trigger_t {
  ROCPROFILER_PAGE_MIGRATION_TRIGGER_NONE = -1 ,
  ROCPROFILER_PAGE_MIGRATION_TRIGGER_PREFETCH ,
  ROCPROFILER_PAGE_MIGRATION_TRIGGER_PAGEFAULT_GPU ,
  ROCPROFILER_PAGE_MIGRATION_TRIGGER_PAGEFAULT_CPU ,
  ROCPROFILER_PAGE_MIGRATION_TRIGGER_TTM_EVICTION ,
  ROCPROFILER_PAGE_MIGRATION_TRIGGER_LAST
}
 Page migration triggers. More...
 
enum  rocprofiler_page_migration_queue_suspend_trigger_t {
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_NONE = -1 ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_SVM ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_USERPTR ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_TTM ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_SUSPEND ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_CRIU_CHECKPOINT ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_CRIU_RESTORE ,
  ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_LAST
}
 Page migration triggers causing the queue to suspend. More...
 
enum  rocprofiler_page_migration_unmap_from_gpu_trigger_t {
  ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_NONE = -1 ,
  ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_MMU_NOTIFY ,
  ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_MMU_NOTIFY_MIGRATE ,
  ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_UNMAP_FROM_CPU ,
  ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_LAST
}
 Page migration triggers causing an unmap from the GPU. More...
 

Functions

rocprofiler_status_t rocprofiler_configure_buffer_tracing_service (rocprofiler_context_id_t context_id, rocprofiler_buffer_tracing_kind_t kind, const rocprofiler_tracing_operation_t *operations, unsigned long operations_count, rocprofiler_buffer_id_t buffer_id)
 Configure Buffer Tracing Service.
 
rocprofiler_status_t rocprofiler_query_buffer_tracing_kind_name (rocprofiler_buffer_tracing_kind_t kind, const char **name, uint64_t *name_len)
 Query the name of the buffer tracing kind. The name retrieved from this function is a string literal that is encoded in the read-only section of the binary (i.e. it is always "allocated" and never "deallocated").
 
rocprofiler_status_t rocprofiler_query_buffer_tracing_kind_operation_name (rocprofiler_buffer_tracing_kind_t kind, rocprofiler_tracing_operation_t operation, const char **name, uint64_t *name_len)
 Query the name of the buffer tracing kind. The name retrieved from this function is a string literal that is encoded in the read-only section of the binary (i.e. it is always "allocated" and never "deallocated").
 
rocprofiler_status_t rocprofiler_iterate_buffer_tracing_kinds (rocprofiler_buffer_tracing_kind_cb_t callback, void *data)
 Iterate over all the buffer tracing kinds and invokes the callback for each buffer tracing kind.
 
rocprofiler_status_t rocprofiler_iterate_buffer_tracing_kind_operations (rocprofiler_buffer_tracing_kind_t kind, rocprofiler_buffer_tracing_kind_operation_cb_t callback, void *data)
 Iterates over all the operations for a given rocprofiler_buffer_tracing_kind_t and invokes the callback with the kind and operation id. This is useful to build a map of the operation names during tool initialization instead of querying rocprofiler everytime in the callback hotpath.