Go to the source code of this file.
|
| int | rocp_init_environment (void) |
| |
| int | rocp_init (void) |
| |
| int | rocp_shutdown (void) |
| |
| int | rocp_evt_enum (uint64_t *event_code, int modifier) |
| |
| int | rocp_evt_code_to_descr (uint64_t event_code, char *descr, int len) |
| |
| int | rocp_evt_name_to_code (const char *name, uint64_t *event_code) |
| |
| int | rocp_evt_code_to_name (uint64_t event_code, char *name, int len) |
| |
| int | rocp_evt_code_to_info (uint64_t event_code, PAPI_event_info_t *info) |
| |
| int | rocp_ctx_open (uint64_t *events_id, int num_events, rocp_ctx_t *ctx) |
| |
| int | rocp_ctx_close (rocp_ctx_t ctx) |
| |
| int | rocp_ctx_start (rocp_ctx_t ctx) |
| |
| int | rocp_ctx_stop (rocp_ctx_t ctx) |
| |
| int | rocp_ctx_read (rocp_ctx_t ctx, long long **counts) |
| |
| int | rocp_ctx_reset (rocp_ctx_t ctx) |
| |
◆ rocp_ctx_close()
| int rocp_ctx_close |
( |
rocp_ctx_t |
ctx | ) |
|
Definition at line 401 of file roc_profiler.c.
402{
405 }
406
408}
static int intercept_ctx_close(rocp_ctx_t)
static int sampling_ctx_close(rocp_ctx_t)
unsigned int rocm_prof_mode
#define ROCM_PROFILE_SAMPLING_MODE
◆ rocp_ctx_open()
| int rocp_ctx_open |
( |
uint64_t * |
events_id, |
|
|
int |
num_events, |
|
|
rocp_ctx_t * |
ctx |
|
) |
| |
Definition at line 390 of file roc_profiler.c.
391{
394 }
395
397}
static int sampling_ctx_open(uint64_t *, int, rocp_ctx_t *)
static int intercept_ctx_open(uint64_t *, int, rocp_ctx_t *)
◆ rocp_ctx_read()
| int rocp_ctx_read |
( |
rocp_ctx_t |
ctx, |
|
|
long long ** |
counts |
|
) |
| |
Definition at line 434 of file roc_profiler.c.
435{
438 }
439
441}
static int intercept_ctx_read(rocp_ctx_t, long long **)
static int sampling_ctx_read(rocp_ctx_t, long long **)
◆ rocp_ctx_reset()
| int rocp_ctx_reset |
( |
rocp_ctx_t |
ctx | ) |
|
Definition at line 445 of file roc_profiler.c.
446{
449 }
450
452}
static int intercept_ctx_reset(rocp_ctx_t)
static int sampling_ctx_reset(rocp_ctx_t)
◆ rocp_ctx_start()
| int rocp_ctx_start |
( |
rocp_ctx_t |
ctx | ) |
|
Definition at line 412 of file roc_profiler.c.
413{
416 }
417
419}
static int intercept_ctx_start(rocp_ctx_t)
static int sampling_ctx_start(rocp_ctx_t)
◆ rocp_ctx_stop()
| int rocp_ctx_stop |
( |
rocp_ctx_t |
ctx | ) |
|
Definition at line 423 of file roc_profiler.c.
424{
427 }
428
430}
static int intercept_ctx_stop(rocp_ctx_t)
static int sampling_ctx_stop(rocp_ctx_t)
◆ rocp_evt_code_to_descr()
| int rocp_evt_code_to_descr |
( |
uint64_t |
event_code, |
|
|
char * |
descr, |
|
|
int |
len |
|
) |
| |
Definition at line 260 of file roc_profiler.c.
261{
262 int papi_errno;
263
267 return papi_errno;
268 }
269
271 return papi_errno;
272}
static ntv_event_table_t * ntv_table_p
static int evt_id_to_info(uint64_t event_id, event_info_t *info)
◆ rocp_evt_code_to_info()
Definition at line 331 of file roc_profiler.c.
332{
333 int papi_errno;
334
338 return papi_errno;
339 }
340
342 case 0:
345 break;
347 {
353 }
354 }
357 sprintf(info->
long_descr,
"%s, masks:Mandatory device qualifier [%s]:Mandatory instance qualifier in range [0-%i]",
359 break;
360 }
362 {
368 }
369 }
372 sprintf(info->
long_descr,
"%s, masks:Mandatory device qualifier [%s]",
374 break;
375 }
378 sprintf(info->
long_descr,
"%s, masks:Mandatory instance qualifier in range [0-%i]",
380 break;
381 default:
383 }
384
385 return papi_errno;
386}
static nvmlDevice_t * devices
int rocc_dev_check(rocc_bitmap_t bitmap, int i)
device_table_t * device_table_p
char symbol[PAPI_HUGE_STR_LEN]
char long_descr[PAPI_HUGE_STR_LEN]
◆ rocp_evt_code_to_name()
| int rocp_evt_code_to_name |
( |
uint64_t |
event_code, |
|
|
char * |
name, |
|
|
int |
len |
|
) |
| |
Definition at line 324 of file roc_profiler.c.
325{
327}
static int evt_code_to_name(uint64_t event_code, char *name, int len)
◆ rocp_evt_enum()
| int rocp_evt_enum |
( |
uint64_t * |
event_code, |
|
|
int |
modifier |
|
) |
| |
Definition at line 193 of file roc_profiler.c.
194{
197 SUBDBG(
"ENTER: event_code: %lu, modifier: %d\n", *event_code, modifier);
198
199
200 switch(modifier) {
204 break;
205 }
211 break;
215 break;
216 }
223 break;
224 }
226 break;
230 break;
231 }
232 if (info.
flags == 0) {
237 break;
238 }
245 break;
246 }
247 }
249 break;
250 default:
252 }
253
255 return papi_errno;
256}
Returns a string describing the PAPI error code.
#define PAPI_NTV_ENUM_UMASKS
#define SUBDBG(format, args...)
static int evt_id_create(event_info_t *info, uint64_t *event_id)
◆ rocp_evt_name_to_code()
| int rocp_evt_name_to_code |
( |
const char * |
name, |
|
|
uint64_t * |
event_code |
|
) |
| |
Definition at line 276 of file roc_profiler.c.
277{
279 int htable_errno;
280 SUBDBG(
"ENTER: name: %s, event_code: %p\n",
name, event_code);
281
282 int device;
285 goto fn_exit;
286 }
287
288 int instance;
291 goto fn_exit;
292 }
293
297 goto fn_exit;
298 }
299
304 goto fn_exit;
305 }
306
309 event_info_t info = { device, instance, flags, nameid };
312 goto fn_exit;
313 }
314
316
317 fn_exit:
319 return papi_errno;
320}
static int htable_find(void *handle, const char *key, void **out)
static int evt_name_to_basename(const char *name, char *base, int len)
static int evt_name_to_instance(const char *name, int *instance)
static int evt_name_to_device(const char *name, int *device)
◆ rocp_init()
Definition at line 159 of file roc_profiler.c.
160{
163
166 goto fn_fail;
167 }
168
170
173 }
174
177 (*hsa_shut_down_p)();
178 goto fn_fail;
179 }
180
182
183 fn_exit:
185 return papi_errno;
186 fn_fail:
188 goto fn_exit;
189}
static int htable_init(void **handle)
static ntv_event_table_t ntv_table
static int load_rocp_sym(void)
static int unload_rocp_sym(void)
static void * htable_intercept
static int init_event_table(void)
◆ rocp_init_environment()
| int rocp_init_environment |
( |
void |
| ) |
|
Definition at line 152 of file roc_profiler.c.
153{
155}
static int init_rocp_env(void)
◆ rocp_shutdown()
| int rocp_shutdown |
( |
void |
| ) |
|
Definition at line 456 of file roc_profiler.c.
457{
460 }
461
463}
static int intercept_shutdown(void)
static int sampling_shutdown(void)