Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mpi_utilities.cpp File Reference
#include "cddefines.h"
#include "save.h"
#include "dynamics.h"
#include "grid.h"
#include "service.h"
#include "rfield.h"
#include "ran.h"
Include dependency graph for mpi_utilities.cpp:

Macros

#define pid_t   int
 
#define fork()   TotalInsanityAsStub<pid_t>()
 
#define wait(X)   TotalInsanityAsStub<pid_t>()
 

Typedefs

typedef bitset< 3 > gfstate
 

Enumerations

enum  gfs_bits { NEWLINE_ABSENT, DELIMITER_ABSENT, FILE_ABSENT }
 

Functions

STATIC void GridGatherOutput (const string &, long, const vector< long > &)
 
STATIC void GridGatherOutputSequential (const string &, long)
 
STATIC void GridGatherOutputParallel (const string &, long, const vector< long > &)
 
STATIC bool lgIsRemote (const string &)
 
STATIC gfstate check_grid_file (const string &, int, int)
 
STATIC void fix_grid_file (const string &, int, gfstate, int)
 
int total_insanity (MPI_File, int, MPI_Status *)
 
void process_output ()
 
void append_file (FILE *dest, const char *source)
 
void append_file (MPI_File dest, const char *source)
 

Variables

int MPI_MODE_RDONLY = 0
 
int MPI_MODE_WRONLY = 0
 
int MPI_MODE_CREATE = 0
 
int MPI_MODE_APPEND = 0
 
int MPI_SUCCESS = 0
 
int MPI_ERR_INTERN = -1
 
MPI_File MPI_FILE_NULL = 0
 
int mpi_mode_r = MPI_MODE_RDONLY
 
int mpi_mode_w = MPI_MODE_WRONLY | MPI_MODE_CREATE
 
int mpi_mode_a = MPI_MODE_WRONLY | MPI_MODE_CREATE | MPI_MODE_APPEND
 

Macro Definition Documentation

#define fork ( )    TotalInsanityAsStub<pid_t>()

Referenced by load_balance::init().

#define pid_t   int

Referenced by load_balance::init().

#define wait (   X)    TotalInsanityAsStub<pid_t>()

Referenced by load_balance::finalize().

Typedef Documentation

typedef bitset<3> gfstate

Enumeration Type Documentation

enum gfs_bits
Enumerator
NEWLINE_ABSENT 
DELIMITER_ABSENT 
FILE_ABSENT 

Function Documentation

void append_file ( FILE *  dest,
const char *  source 
)

append_file: append output produced on file <source> to open file descriptor <dest>

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, NULL, and open_data().

Referenced by GridGatherOutputParallel(), GridGatherOutputSequential(), optimize_phymir(), phymir_state< X, Y, NP, NSTR >::p_process_output(), and process_output().

Here is the call graph for this function:

void append_file ( MPI_File  dest,
const char *  source 
)

append_file: append output produced on file <source> to open file handle <dest> using MPI I/O

References AS_LOCAL_ONLY_TRY, DEBUG_ENTRY, MPI_File_write, NULL, and open_data().

Here is the call graph for this function:

STATIC gfstate check_grid_file ( const string &  fnam,
int  j,
int  ipPun 
)

check_grid_file: check whether the save file is present and is terminated by a GRID_DELIMIT string

References AS_LOCAL_ONLY_TRY, t_save::chHashString, DEBUG_ENTRY, DELIMITER_ABSENT, dynamics, FILE_ABSENT, GridPointPrefix(), t_save::lg_separate_iterations, t_save::lgFITS, t_save::lgHashEndIter, t_dynamics::lgTimeDependentStatic, mode_r, NEWLINE_ABSENT, open_data(), and save.

Referenced by process_output().

Here is the call graph for this function:

STATIC void fix_grid_file ( const string &  fnam,
int  j,
gfstate  s,
int  jsource 
)

fix_grid_file: fix absent or malformed grid file

References AS_LOCAL_ONLY, AS_LOCAL_ONLY_TRY, t_save::chGridDelimeter(), DEBUG_ENTRY, DELIMITER_ABSENT, FILE_ABSENT, GridPointPrefix(), mode_a, mode_r, NEWLINE_ABSENT, open_data(), and save.

Referenced by process_output().

Here is the call graph for this function:

STATIC void GridGatherOutput ( const string &  basenam,
long  nfiles,
const vector< long > &  bound 
)

References cpu, GridGatherOutputParallel(), GridGatherOutputSequential(), t_cpu::i(), lgIsRemote(), t_cpu_i::lgMaster(), and t_cpu_i::lgMPI().

Referenced by process_output().

Here is the call graph for this function:

STATIC void GridGatherOutputParallel ( const string &  basenam,
long  nfiles,
const vector< long > &  bound 
)
STATIC void GridGatherOutputSequential ( const string &  basenam,
long  nfiles 
)

References append_file(), AS_LOCAL_ONLY_TRY, GridPointPrefix(), NULL, and open_data().

Referenced by GridGatherOutput().

Here is the call graph for this function:

STATIC bool lgIsRemote ( const string &  )

Referenced by GridGatherOutput().

int total_insanity ( MPI_File  ,
int  ,
MPI_Status  
)

Variable Documentation

int MPI_ERR_INTERN = -1

Referenced by open_data().

MPI_File MPI_FILE_NULL = 0
int MPI_MODE_APPEND = 0
int MPI_MODE_CREATE = 0
int mpi_mode_r = MPI_MODE_RDONLY

Referenced by open_data().

int MPI_MODE_RDONLY = 0
int mpi_mode_w = MPI_MODE_WRONLY | MPI_MODE_CREATE
int MPI_MODE_WRONLY = 0
int MPI_SUCCESS = 0

Referenced by open_data().