56 memset(rocmsmi_ctx, 0,
sizeof(*rocmsmi_ctx));
72 "Not initialized. Access component events to initialize it.");
81 unsigned int event_code = 0;
109 const char *error_str;
175 for (
i = 0;
i < ntv_count; ++
i) {
228 rocmsmi_ctx->
state = 0;
274 rocmsmi_ctx->
state &= ~ROCS_EVENTS_RUNNING;
278 rocmsmi_ctx->
state = 0;
289 if (rocmsmi_ctl->
rocs_ctx != NULL) {
304 rocmsmi_ctx->
state = 0;
394 .short_name =
"rocm_smi",
396 .description =
"AMD GPU System Management Interface via rocm_smi_lib",
401 .fast_real_timer = 0,
402 .fast_virtual_timer = 0,
404 .attach_must_ptrace = 0,
Lock one of two mutex variables defined in papi.h.
Unlock one of the mutex variables defined in papi.h.
char events[MAX_EVENTS][BUFSIZ]
static long long values[NUM_EVENTS]
static int _rocm_smi_shutdown_thread(hwd_context_t *ctx)
static int update_native_events(rocmsmi_control_t *, NativeInfo_t *, int)
static int _rocm_smi_update_control_state(hwd_control_state_t *ctrl, NativeInfo_t *nativeInfo, int nativeCount, hwd_context_t *ctx)
static int _rocm_smi_reset(hwd_context_t *ctx, hwd_control_state_t *ctrl)
static int _rocm_smi_cleanup_eventset(hwd_control_state_t *ctrl)
static int try_open_events(rocmsmi_control_t *)
static int _rocm_smi_stop(hwd_context_t *ctx, hwd_control_state_t *ctrl)
static int _rocm_smi_init_control_state(hwd_control_state_t *ctrl __attribute__((unused)))
static int evt_get_count(int *count)
static int _rocm_smi_write(hwd_context_t *ctx, hwd_control_state_t *ctrl, long long *values)
papi_vector_t _rocm_smi_vector
static int _rocm_smi_start(hwd_context_t *ctx, hwd_control_state_t *ctrl)
static int _rocm_smi_check_n_initialize(void)
static int _rocm_smi_read(hwd_context_t *ctx, hwd_control_state_t *ctrl, long long **values, int flags __attribute__((unused)))
static int _rocm_smi_init_component(int cidx)
static int _rocm_smi_shutdown_component(void)
static int _rocm_smi_ntv_code_to_name(unsigned int EventCode, char *name, int len)
static int _rocm_smi_ntv_name_to_code(const char *name, unsigned int *EventCode)
static int _rocm_smi_init_private(void)
static int _rocm_smi_ntv_code_to_descr(unsigned int EventCode, char *desc, int len)
static int _rocm_smi_ntv_enum_events(unsigned int *EventCode, int modifier)
static int _rocm_smi_init_thread(hwd_context_t *ctx)
unsigned int _rocm_smi_lock
static int _rocm_smi_ctrl(hwd_context_t *ctx __attribute__((unused)), int code __attribute__((unused)), _papi_int_option_t *option __attribute__((unused)))
static int _rocm_smi_set_domain(hwd_control_state_t *ctrl __attribute__((unused)), int domain __attribute__((unused)))
unsigned long AO_t __attribute__((__aligned__(4)))
Return codes and api definitions.
#define papi_calloc(a, b)
int rocs_ctx_write(rocs_ctx_t rocs_ctx, long long *counts)
int rocs_err_get_last(const char **err_string)
int rocs_evt_code_to_descr(unsigned int event_code, char *descr, int len)
int rocs_evt_name_to_code(const char *name, unsigned int *event_code)
int rocs_ctx_close(rocs_ctx_t rocs_ctx)
int rocs_ctx_read(rocs_ctx_t rocs_ctx, long long **counts)
int rocs_ctx_start(rocs_ctx_t rocs_ctx)
int rocs_ctx_reset(rocs_ctx_t rocs_ctx)
int rocs_ctx_open(unsigned int *events_id, int num_events, rocs_ctx_t *rocs_ctx)
int rocs_ctx_stop(rocs_ctx_t rocs_ctx)
int rocs_evt_code_to_name(unsigned int event_code, char *name, int len)
int rocs_evt_enum(unsigned int *event_code, int modifier)
#define ROCS_EVENTS_OPENED
#define ROCS_EVENTS_RUNNING
char name[PAPI_MAX_STR_LEN]
char disabled_reason[PAPI_HUGE_STR_LEN]
PAPI_component_info_t cmp_info