|
Packit |
577717 |
#ifndef __LINUX_NVML_H__
|
|
Packit |
577717 |
#define __LINUX_NVML_H__
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#include "nvml.h"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define FEATURE_CLOCK_INFO 1
|
|
Packit |
577717 |
#define FEATURE_ECC_LOCAL_ERRORS 2
|
|
Packit |
577717 |
#define FEATURE_FAN_SPEED 4
|
|
Packit |
577717 |
#define FEATURE_MAX_CLOCK 8
|
|
Packit |
577717 |
#define FEATURE_MEMORY_INFO 16
|
|
Packit |
577717 |
#define FEATURE_PERF_STATES 32
|
|
Packit |
577717 |
#define FEATURE_POWER 64
|
|
Packit |
577717 |
#define FEATURE_TEMP 128
|
|
Packit |
577717 |
#define FEATURE_ECC_TOTAL_ERRORS 256
|
|
Packit |
577717 |
#define FEATURE_UTILIZATION 512
|
|
Packit |
577717 |
#define FEATURE_POWER_MANAGEMENT 1024
|
|
Packit |
577717 |
#define FEATURE_NVML_POWER_MANAGEMENT_LIMIT_CONSTRAINT_MIN 2048
|
|
Packit |
577717 |
#define FEATURE_NVML_POWER_MANAGEMENT_LIMIT_CONSTRAINT_MAX 4096
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define HAS_FEATURE( features, query ) ( features & query )
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define MEMINFO_TOTAL_MEMORY 0
|
|
Packit |
577717 |
#define MEMINFO_UNALLOCED 1
|
|
Packit |
577717 |
#define MEMINFO_ALLOCED 2
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define LOCAL_ECC_REGFILE 0
|
|
Packit |
577717 |
#define LOCAL_ECC_L1 1
|
|
Packit |
577717 |
#define LOCAL_ECC_L2 2
|
|
Packit |
577717 |
#define LOCAL_ECC_MEM 3
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define GPU_UTILIZATION 0
|
|
Packit |
577717 |
#define MEMORY_UTILIZATION 1
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* we lookup which card we are on at read time; this is a place holder */
|
|
Packit |
577717 |
typedef int nvml_register_t;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
struct local_ecc {
|
|
Packit |
577717 |
nvmlEccBitType_t bits;
|
|
Packit |
577717 |
int which_one;
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
|
|
Packit |
577717 |
typedef union {
|
|
Packit |
577717 |
nvmlClockType_t clock; /* used in get[Max]ClockSpeed */
|
|
Packit |
577717 |
struct local_ecc ecc_opts; /* local ecc errors, total ecc errors */
|
|
Packit |
577717 |
int which_one; /* memory_info , utilization*/
|
|
Packit |
577717 |
} nvml_resource_options_t;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
typedef struct nvml_native_event_entry {
|
|
Packit |
577717 |
nvml_resource_options_t options;
|
|
Packit |
577717 |
char name[PAPI_MAX_STR_LEN];
|
|
Packit |
577717 |
char units[PAPI_MIN_STR_LEN];
|
|
Packit |
577717 |
char description[PAPI_MAX_STR_LEN];
|
|
Packit |
577717 |
int type;
|
|
Packit |
577717 |
} nvml_native_event_entry_t;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#endif
|