338{
339 memset(dev_type_info, 0, sizeof(*dev_type_info));
341 strcpy(dev_type_info->
vendor,
"NVIDIA");
342 strcpy(dev_type_info->
status,
"Device Initialized");
343
344#ifdef HAVE_CUDA
346 return;
347 }
348
349 int dev, dev_count;
352 if (dev_count == 0) {
353 return;
354 }
355
357 for (dev = 0; dev < dev_count; ++dev) {
358 fill_dev_info(&arr[dev], dev);
359 }
360
361#ifdef HAVE_NVML
362 if (!load_nvml_sym(dev_type_info->
status)) {
363 fill_dev_affinity_info(arr, dev_count);
364 unload_nvml_sym();
365 }
366#else
367 const char *message = "NVML not configured, no device affinity available";
370 SUBDBG(
"Status string truncated.");
371 }
372#endif
373
376#else
377 const char *message = "CUDA not configured, no CUDA device available";
380 SUBDBG(
"Status string truncated.");
381 }
382#endif
383}
CUresult(* cuDeviceGetCountPtr)(int *)
static int unload_cuda_sym(void)
static int load_cuda_sym(void)
#define PAPI_DEV_TYPE_ID__CUDA
#define SUBDBG(format, args...)
#define papi_calloc(a, b)
char status[PAPI_MAX_STR_LEN]
char vendor[PAPI_MAX_STR_LEN]