YAC 3.21.0
Yet Another Coupler
Loading...
Searching...
No Matches
yac_pak.h File Reference
#include <mpi.h>
#include <stdio.h>
Include dependency graph for yac_pak.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define YAC_PAK_VERSION_MAJOR   0
 
#define YAC_PAK_VERSION_MINOR   1
 
#define YAC_PAK_VERSION_PATCH   2
 
#define YAC_PAK_VERSION_STRING   "0.1.2"
 

Enumerations

enum  yac_pak_event_type_t {
  YAC_PAK_EVENT_TYPE_INIT = 0 , YAC_PAK_EVENT_TYPE_DEF_COMP , YAC_PAK_EVENT_TYPE_SYNC_DEF , YAC_PAK_EVENT_TYPE_ENDDEF ,
  YAC_PAK_EVENT_TYPE_FINALIZE , YAC_PAK_EVENT_TYPE_GET , YAC_PAK_EVENT_TYPE_AGET , YAC_PAK_EVENT_TYPE_PUT ,
  YAC_PAK_EVENT_TYPE_REGION , YAC_PAK_EVENT_TYPE_UPDATE , YAC_PAK_EVENT_TYPE_WAIT
}
 Event type for YAC PAK trace entries. Defines the type of events that can be recorded in YAC PAK traces. More...
 
enum  yac_pak_trace_level_t { YAC_PAK_TRACE_LEVEL_OFF = 0 , YAC_PAK_TRACE_LEVEL_COUPLING = 1 , YAC_PAK_TRACE_LEVEL_REGIONS = 2 , YAC_PAK_TRACE_LEVEL_MAX = YAC_PAK_TRACE_LEVEL_REGIONS }
 YAC PAK coupling trace level. More...
 

Functions

struct yac_pak * yac_pak_new (MPI_Comm comm, int capacity)
 Construct a new YAC PAK object.
 
void yac_pak_delete (struct yac_pak *pak)
 Destroy a YAC PAK object.
 
int yac_pak_register (struct yac_pak *pak, char const *name)
 Register a named timer.
 
int yac_pak_start (struct yac_pak *pak, int idx)
 Start a registered timer.
 
int yac_pak_stop (struct yac_pak *pak, int idx)
 Stop a registered timer.
 
int yac_pak_report (struct yac_pak *pak, FILE *out)
 Generate collective timer report.
 
int yac_pak_trace_is_enabled (struct yac_pak const *pak)
 Event tracing support.
 
int yac_pak_setup_trace_is_enabled (struct yac_pak const *pak)
 Check whether setup-phase tracing is active.
 
int yac_pak_trace_stop (struct yac_pak *pak, int handle)
 Stop a trace event.
 
int yac_pak_flush_trace (struct yac_pak *pak)
 Flush trace data to disk.
 
int yac_pak_trace_start_ex (struct yac_pak *pak, char const *field, char const *component, char const *grid, yac_pak_event_type_t type, int put_idx, char const *datetime, int action, yac_pak_trace_level_t level)
 Start a trace event with full metadata.
 
int yac_pak_region_trace_is_enabled (struct yac_pak const *pak, yac_pak_trace_level_t level)
 Check whether region events at a given trace level will be recorded.
 
int yac_pak_trace_start_setup (struct yac_pak *pak, char const *name, yac_pak_event_type_t type)
 Setup-phase event tracing.
 
int yac_pak_trace_record (struct yac_pak *pak, char const *field, char const *component, char const *grid, yac_pak_event_type_t type, double tstart, double tend)
 Record a complete trace entry with explicit timestamps.
 
char const * yac_pak_get_config_output_path (struct yac_pak const *pak)
 Return the coupling configuration output file path if enabled.
 
void yac_pak_set_component (struct yac_pak *pak, char const *comp_name, int comp_rank, int comp_size)
 Set the component this process belongs to.