Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"
#include "save.h"
#include "dynamics.h"
#include "grid.h"
#include "service.h"
#include "rfield.h"
#include "ran.h"
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 |
#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 bitset<3> gfstate |
enum gfs_bits |
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().
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().
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().
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().
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().
STATIC void GridGatherOutputParallel | ( | const string & | basenam, |
long | nfiles, | ||
const vector< long > & | bound | ||
) |
References append_file(), AS_LOCAL_ONLY_TRY, cpu, GridPointPrefix(), t_cpu::i(), MPI_Bcast, MPI_File_close, MPI_File_get_size, MPI_FILE_NULL, MPI_File_set_view, mpi_mode_a, t_cpu_i::nCPU(), t_cpu_i::nRANK(), NULL, and open_data().
Referenced by GridGatherOutput().
STATIC void GridGatherOutputSequential | ( | const string & | basenam, |
long | nfiles | ||
) |
References append_file(), AS_LOCAL_ONLY_TRY, GridPointPrefix(), NULL, and open_data().
Referenced by GridGatherOutput().
STATIC bool lgIsRemote | ( | const string & | ) |
Referenced by GridGatherOutput().
void process_output | ( | ) |
process_output: concatenate output files produced in grid run
References append_file(), ASSERT, check_grid_file(), t_save::chFileName, t_save::chFilenamePrefix, t_save::chRedirectPrefix, cpu, DEBUG_ENTRY, t_save::FITStype, fix_grid_file(), fprintf(), grid, GridGatherOutput(), GridPointPrefix(), t_cpu::i(), ioQQQ, ipPun, t_grid::lgKeepMainOutputSeparate, t_cpu_i::lgMaster(), t_cpu_i::lgMPI(), t_save::lgSaveToSeparateFiles, t_save::lgXSPEC, t_cpu_i::nCPU(), t_rfield::nflux, t_cpu_i::nRANK(), t_save::nsave, NUM_OUTPUT_TYPES, open_data(), t_save::punarg, rd_block(), rfield, save, saveFITSfile(), t_grid::Spectra, and t_grid::totNumModels.
Referenced by main().
int total_insanity | ( | MPI_File | , |
int | , | ||
MPI_Status * | |||
) |
int MPI_ERR_INTERN = -1 |
Referenced by open_data().
MPI_File MPI_FILE_NULL = 0 |
Referenced by GridGatherOutputParallel(), and open_data().
int mpi_mode_a = MPI_MODE_WRONLY | MPI_MODE_CREATE | MPI_MODE_APPEND |
Referenced by GridGatherOutputParallel().
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().