|
PAPI 7.1.0.0
|
libmsr component More...

Go to the source code of this file.
Data Structures | |
| struct | _libmsr_register_t |
| struct | _libmsr_native_event_entry_t |
| struct | _libmsr_reg_alloc_t |
| struct | _libmsr_control_state_t |
| struct | _libmsr_context_t |
Macros | |
| #define | LIBMSR_MAX_COUNTERS 64 |
| #define | LIBMSR_MAX_PACKAGES 64 |
| #define | HANDLE_STRING_ERROR {fprintf(stderr,"%s:%i unexpected string function error.\n",__FILE__,__LINE__); exit(-1);} |
| #define | CHECK_DL_STATUS(err, str) |
Enumerations | |
| enum | eventtype_enum { PKG_ENERGY =0 , PKG_ELAPSED , PKG_DELTA_ENERGY , PKG_WATTS , PKG_POWER_LIMIT_1 , PKG_TIME_WINDOW_POWER_LIMIT_1 , PKG_POWER_LIMIT_2 , PKG_TIME_WINDOW_POWER_LIMIT_2 , NUM_OF_EVENTTYPES } |
Variables | |
| papi_vector_t | _libmsr_vector |
| static _libmsr_native_event_entry_t * | libmsr_native_events = NULL |
| static int | num_events_global = 0 |
| static int | already_called_libmsr_rapl_initialized_global = 0 |
| static void * | dl1 = NULL |
| static char | libmsr_main [] =PAPI_LIBMSR_MAIN |
| void(* | _dl_non_dynamic_init )(void) |
This PAPI component provides access to libmsr from LLNL (https://github.com/scalability-llnl/libmsr), specifically the RAPL (Running Average Power Level) access in libmsr, which provides energy measurements on modern Intel CPUs.
To work, either msr_safe kernel module from LLNL (https://github.com/scalability-llnl/msr-safe), or the x86 generic MSR driver must be installed (CONFIG_X86_MSR) and the /dev/cpu/?/<msr_safe | msr> files must have read permissions
If /dev/cpu/?/{msr_safe,msr} have appropriate write permissions, you can write to the events PACKAGE_POWER_LIMIT_{1,2} to change the average power (in watts) consumed by the packages/sockets over a certain time window specified by events PKG_TIME_WINDOW_POWER_LIMIT_{1,2} respectively.
Definition in file linux-libmsr.c.
| #define CHECK_DL_STATUS | ( | err, | |
| str | |||
| ) |
Definition at line 151 of file linux-libmsr.c.
| #define HANDLE_STRING_ERROR {fprintf(stderr,"%s:%i unexpected string function error.\n",__FILE__,__LINE__); exit(-1);} |
Definition at line 82 of file linux-libmsr.c.
| #define LIBMSR_MAX_COUNTERS 64 |
Definition at line 76 of file linux-libmsr.c.
| #define LIBMSR_MAX_PACKAGES 64 |
Definition at line 77 of file linux-libmsr.c.
| enum eventtype_enum |
| Enumerator | |
|---|---|
| PKG_ENERGY | |
| PKG_ELAPSED | |
| PKG_DELTA_ENERGY | |
| PKG_WATTS | |
| PKG_POWER_LIMIT_1 | |
| PKG_TIME_WINDOW_POWER_LIMIT_1 | |
| PKG_POWER_LIMIT_2 | |
| PKG_TIME_WINDOW_POWER_LIMIT_2 | |
| NUM_OF_EVENTTYPES | |
Definition at line 45 of file linux-libmsr.c.
| int _libmsr_ctl | ( | hwd_context_t * | ctx, |
| int | code, | ||
| _papi_int_option_t * | option | ||
| ) |
Definition at line 765 of file linux-libmsr.c.
Definition at line 278 of file linux-libmsr.c.

| int _libmsr_init_control_state | ( | hwd_control_state_t * | ctl | ) |
Definition at line 501 of file linux-libmsr.c.
| int _libmsr_init_thread | ( | hwd_context_t * | ctx | ) |
Definition at line 268 of file linux-libmsr.c.
Definition at line 857 of file linux-libmsr.c.

| int _libmsr_ntv_code_to_info | ( | unsigned int | EventCode, |
| PAPI_event_info_t * | info | ||
| ) |
Definition at line 870 of file linux-libmsr.c.

Definition at line 844 of file linux-libmsr.c.

Definition at line 811 of file linux-libmsr.c.
| int _libmsr_read | ( | hwd_context_t * | ctx, |
| hwd_control_state_t * | ctl, | ||
| long long ** | events, | ||
| int | flags | ||
| ) |
Definition at line 554 of file linux-libmsr.c.

| int _libmsr_reset | ( | hwd_context_t * | ctx, |
| hwd_control_state_t * | ctl | ||
| ) |
Definition at line 798 of file linux-libmsr.c.
| int _libmsr_set_domain | ( | hwd_control_state_t * | ctl, |
| int | domain | ||
| ) |
Definition at line 786 of file linux-libmsr.c.
| int _libmsr_shutdown_component | ( | void | ) |
Definition at line 743 of file linux-libmsr.c.

| int _libmsr_shutdown_thread | ( | hwd_context_t * | ctx | ) |
Definition at line 732 of file linux-libmsr.c.
| int _libmsr_start | ( | hwd_context_t * | ctx, |
| hwd_control_state_t * | ctl | ||
| ) |
Definition at line 539 of file linux-libmsr.c.

| int _libmsr_stop | ( | hwd_context_t * | ctx, |
| hwd_control_state_t * | ctl | ||
| ) |
Definition at line 721 of file linux-libmsr.c.

| int _libmsr_update_control_state | ( | hwd_control_state_t * | ctl, |
| NativeInfo_t * | native, | ||
| int | count, | ||
| hwd_context_t * | ctx | ||
| ) |
Definition at line 517 of file linux-libmsr.c.
| int _libmsr_write | ( | hwd_context_t * | ctx, |
| hwd_control_state_t * | ctl, | ||
| long long * | values | ||
| ) |
Definition at line 652 of file linux-libmsr.c.

|
static |
Definition at line 638 of file linux-libmsr.c.

|
static |
Definition at line 157 of file linux-libmsr.c.

| void _local_set_to_defaults | ( | ) |
Definition at line 241 of file linux-libmsr.c.


|
static |
Definition at line 233 of file linux-libmsr.c.

|
static |
Definition at line 146 of file linux-libmsr.c.

|
static |
Definition at line 141 of file linux-libmsr.c.

|
static |
Definition at line 145 of file linux-libmsr.c.

|
static |
Definition at line 148 of file linux-libmsr.c.

|
static |
Definition at line 143 of file linux-libmsr.c.

|
static |
Definition at line 142 of file linux-libmsr.c.

|
static |
Definition at line 147 of file linux-libmsr.c.

|
static |
Definition at line 144 of file linux-libmsr.c.

| void(* _dl_non_dynamic_init) (void) | ( | void | ) |
Definition at line 126 of file linux-libmsr.c.
| papi_vector_t _libmsr_vector |
Definition at line 102 of file linux-libmsr.c.
|
static |
Definition at line 106 of file linux-libmsr.c.
|
static |
Definition at line 114 of file linux-libmsr.c.
|
static |
Definition at line 117 of file linux-libmsr.c.
|
static |
Definition at line 104 of file linux-libmsr.c.
|
static |
Definition at line 105 of file linux-libmsr.c.