|
#define | POINTER ((Meter<NVML_Energy<first_device_id> >*)x[array_index]) |
| A macro for downcast a void pointer to a NVML Energy Meter. More...
|
|
#define | NOTHING |
|
#define | LOOPER(name, return_type, base_code, general_code) |
| A macro to build variadic template to recursively apply code snippets. More...
|
|
Encapsulate logic that use native measurement libraries to start, stop and calculate measurement samples.
#define LOOPER |
( |
|
name, |
|
|
|
return_type, |
|
|
|
base_code, |
|
|
|
general_code |
|
) |
| |
Value:
struct name { static return_type apply(void *x[]) { base_code } }; \
struct name <array_index,first_device_id, rest...> \
{ \
static return_type apply(void *x[]) \
{ \
general_code \
name <array_index+1,rest...>::apply(x); \
} \
};
unsigned int GPU_Device_Id_Type
Definition: MeterPU.h:175
A macro to build variadic template to recursively apply code snippets.
#define POINTER ((Meter<NVML_Energy<first_device_id> >*)x[array_index]) |
A macro for downcast a void pointer to a NVML Energy Meter.