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