|  | 
| #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.