Autonomic Performance Environment for eXascale (APEX)
2.3.1
|
#include <stdint.h>
#include <stdbool.h>
#include <unistd.h>
Go to the source code of this file.
Classes | |
struct | _policy_handle |
struct | _context |
struct | _profile |
Macros | |
#define | APEX_NULL_PROFILER_HANDLE (apex_profiler_handle)(nullptr) |
#define | APEX_MAX_EVENTS 128 |
#define | APEX_NULL_FUNCTION_ADDRESS 0L |
#define | APEX_IDLE_TIME "APEX Idle" |
#define | APEX_NON_IDLE_TIME "APEX Non-Idle" |
#define | APEX_IDLE_RATE "APEX Idle Rate" |
#define | APEX_DEFAULT_OTF2_ARCHIVE_PATH "OTF2_archive" |
#define | APEX_DEFAULT_OTF2_ARCHIVE_NAME "APEX" |
Typedefs | |
typedef void * | apex_profiler_handle |
typedef uintptr_t | apex_function_address |
typedef int(* | apex_policy_function) (apex_context const context) |
typedef uint32_t | apex_tuning_session_handle |
Enumerations | |
enum | _apex_profiler_type { APEX_FUNCTION_ADDRESS = 0, APEX_NAME_STRING } |
enum | _error_codes { APEX_NOERROR = 0, APEX_ERROR } |
enum | _event_type { APEX_INVALID_EVENT = -1, APEX_STARTUP = 0, APEX_SHUTDOWN, APEX_DUMP, APEX_RESET, APEX_NEW_NODE, APEX_NEW_THREAD, APEX_EXIT_THREAD, APEX_START_EVENT, APEX_RESUME_EVENT, APEX_STOP_EVENT, APEX_YIELD_EVENT, APEX_SAMPLE_VALUE, APEX_SEND, APEX_RECV, APEX_PERIODIC, APEX_CUSTOM_EVENT_1, APEX_CUSTOM_EVENT_2, APEX_CUSTOM_EVENT_3, APEX_CUSTOM_EVENT_4, APEX_CUSTOM_EVENT_5, APEX_CUSTOM_EVENT_6, APEX_CUSTOM_EVENT_7, APEX_CUSTOM_EVENT_8, APEX_UNUSED_EVENT = APEX_MAX_EVENTS } |
enum | _thread_state { APEX_IDLE, APEX_BUSY, APEX_THROTTLED, APEX_WAITING, APEX_BLOCKED } |
enum | apex_optimization_criteria_t { APEX_MAXIMIZE_THROUGHPUT, APEX_MAXIMIZE_ACCUMULATED, APEX_MINIMIZE_ACCUMULATED } |
enum | apex_optimization_method_t { APEX_SIMPLE_HYSTERESIS, APEX_DISCRETE_HILL_CLIMBING, APEX_ACTIVE_HARMONY } |
enum | _profile_type { APEX_TIMER, APEX_COUNTER } |
struct _policy_handle |
A reference to the policy object, so that policies can be "unregistered", or paused later
Class Members | ||
---|---|---|
apex_event_type | event_type |
The type of policy |
int | id |
The ID of the policy, used internally to APEX |
unsigned long | period |
If periodic, the length of the period |
struct _context |
The APEX context when an event occurs.
Class Members | ||
---|---|---|
void * | data |
Data associated with the event, such as the custom_data for a custom_event |
apex_event_type | event_type |
The type of the event currently processing |
apex_policy_handle * | policy_handle |
The policy handle for the current policy function |
struct _profile |
The profile object for a timer in APEX.
#define APEX_DEFAULT_OTF2_ARCHIVE_NAME "APEX" |
Default OTF2 trace name
#define APEX_DEFAULT_OTF2_ARCHIVE_PATH "OTF2_archive" |
Default OTF2 trace path
#define APEX_IDLE_RATE "APEX Idle Rate" |
Special profile counter for derived idle rate
#define APEX_IDLE_TIME "APEX Idle" |
Special profile counter for derived idle time
#define APEX_MAX_EVENTS 128 |
The maximum number of event types. Allows for many custom events.
#define APEX_NON_IDLE_TIME "APEX Non-Idle" |
Special profile counter for derived non-idle time
#define APEX_NULL_FUNCTION_ADDRESS 0L |
A null pointer representing an APEX function address. Used when a null APEX function address is to be passed in to any apex functions to represent "all functions".
#define APEX_NULL_PROFILER_HANDLE (apex_profiler_handle)(nullptr) |
A null pointer representing an APEX profiler handle. Used when a null APEX profile handle is to be passed in to apex::stop when the profiler object wasn't retained locally.
typedef uintptr_t apex_function_address |
Rather than use void pointers everywhere, be explicit about what the functions are expecting.
typedef int(* apex_policy_function) (apex_context const context) |
Rather than use void pointers everywhere, be explicit about what the functions are expecting.
typedef void* apex_profiler_handle |
The address of a C++ object in APEX. Not useful for the caller that gets it back, but required for stopping the timer later.
typedef uint32_t apex_tuning_session_handle |
A handle to a tuning session.
enum _apex_profiler_type |
enum _error_codes |
enum _event_type |
enum _profile_type |
enum _thread_state |
Typedef for enumerating the different optimization strategies for throttling.
Typedef for enumerating the different optimization methods for throttling.