Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Sync_Time_MPI.h File Reference
#include <dlfcn.h>
#include <unistd.h>
#include <mpi.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include "Timer.h"
Include dependency graph for Sync_Time_MPI.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sync_tree_conf
 This structure describes a tree node for time synchronization. More...
 

Macros

#define _GNU_SOURCE
 
#define SYNC_TIME
 
#define MAX_LOOP_TRY   20
 the maximum number computations tries More...
 
#define SYNC_TAG   1234
 The tag for time sync communications. More...
 
#define MAX_AVG   10
 the number of offset computations to perform to get an average offset More...
 

Functions

void sync_mpi ()
 Entry point to be used to perform time sync of every MPI Processes. More...
 
void compute_sync_tree (struct sync_tree_conf *conf, void(*action)(struct sync_tree_conf *next_conf, void *arg), void(*per_child_act)(struct sync_tree_conf *conf, void *arg), void(*post_action)(struct sync_tree_conf *next_conf, void *arg), void *arg)
 This function does the actual work prepared by bootstrap_sync_tree(). More...
 
void bootstrap_sync_tree (void(*action)(struct sync_tree_conf *next_conf, void *arg), void(*per_child_act)(struct sync_tree_conf *conf, void *arg), void(*post_action)(struct sync_tree_conf *next_conf, void *arg), void *arg)
 This is a bootstrapping function for calling compute_sync_tree();. More...
 
void perchild_host (struct sync_tree_conf *c, void *arg)
 What to be done on each node's child. More...
 
void post_client (struct sync_tree_conf *c, void *arg)
 What to be done on the client side. More...
 
void action_set_off (struct sync_tree_conf *c, void *poffset)
 Copies offset of c to current process timer offset (poffset) More...
 
void action_val (struct sync_tree_conf *c, void *arg)
 For debugging only. More...
 
void sync_server (int dest_rank)
 Server function for synchronizing time. More...
 
void sync_client (int parent, void *poffset)
 The client function for synchronizing time (computes offset between server and client) More...
 
static uint64_t abs_diff (uint64_t a, uint64_t b)
 Computes an absolute difference. More...
 
static uint32_t nearest_pow (uint32_t num)
 Computes the nearest. More...
 

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 19 of file Sync_Time_MPI.h.

#define SYNC_TIME

Definition at line 32 of file Sync_Time_MPI.h.