162 TWOPT_UINT(
"stagger",
stagger,
"Set to 1 to stagger event uniformly across 0 to end time."),
172 #ifdef TEST_COMM_ROSS
174 MPI_Init(&argc, &argv);
177 MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
179 MPI_Comm_split(MPI_COMM_WORLD, mpi_rank%2, mpi_rank, &split_comm);
222 printf(
"========================================\n");
223 printf(
"PHOLD Model Configuration..............\n");
224 printf(
" Lookahead..............%lf\n", lookahead);
226 printf(
" stagger................%u\n",
stagger);
227 printf(
" Mean...................%lf\n",
mean);
228 printf(
" Mult...................%lf\n",
mult);
231 printf(
"========================================\n\n");
static unsigned int nlp_per_pe
void phold_event_handler_rc(phold_state *s, tw_bf *bf, phold_message *m, tw_lp *lp)
static int g_phold_start_events
void tw_error(const char *file, int line, const char *fmt,...) NORETURN
#define TWOPT_CHAR(n, v, h)
static unsigned int ttl_lps
void phold_commit(phold_state *s, tw_bf *bf, phold_message *m, tw_lp *lp)
tw_peid phold_map(tw_lpid gid)
void phold_stats_collect(phold_state *s, tw_lp *lp, char *buffer)
void tw_comm_set(MPI_Comm comm)
Setup the MPI_COMM_ROSS communicator to use instead of MPI_COMM_WORLD.
#define TWOPT_DOUBLE(n, v, h)
void phold_pre_run(phold_state *s, tw_lp *lp)
void phold_event_handler(phold_state *s, tw_bf *bf, phold_message *m, tw_lp *lp)
void(* event_f)(void *sv, tw_bf *cv, void *msg, tw_lp *me)
unsigned int tw_nnodes(void)
int main(int argc, char **argv)
void(* ev_trace_f)(void *msg, tw_lp *lp, char *buffer, int *collect_flag)
void tw_lp_settype(tw_lpid lp, tw_lptype *type)
Function Pointers for ROSS Event Handlers.
static unsigned int offset_lpid
tw_peid(* map_f)(tw_lpid)
static unsigned int stagger
const tw_optdef app_opt[]
long tw_rand_integer(tw_rng_stream *g, long low, long high)
void phold_init(phold_state *s, tw_lp *lp)
Reverse Computation Bitfield.
#define TWOPT_UINT(n, v, h)
void(* init_f)(void *sv, tw_lp *me)
static int optimistic_memory
void tw_opt_add(const tw_optdef *options)
void st_model_settype(tw_lpid i, st_model_types *model_types)
void(* revent_f)(void *sv, tw_bf *cv, void *msg, tw_lp *me)
void(* pre_run_f)(void *sv, tw_lp *me)
void tw_init(int *argc, char ***argv)
#define tw_rand_reverse_unif(G)
double tw_rand_exponential(tw_rng_stream *g, double Lambda)
void tw_event_send(tw_event *event)
static tw_stime percent_remote
tw_rng_stream * rng
RNG stream array for this LP.
void(* model_stat_f)(void *sv, tw_lp *lp, char *buffer)
void event_trace(phold_message *m, tw_lp *lp, char *buffer, int *collect_flag)
void(* final_f)(void *sv, tw_lp *me)
st_model_types model_types[]
void(* commit_f)(void *sv, tw_bf *cv, void *msg, tw_lp *me)
void tw_define_lps(tw_lpid nlp, size_t msg_sz)
static tw_event * tw_event_new(tw_lpid dest_gid, tw_stime offset_ts, tw_lp *sender)
unsigned int g_tw_events_per_pe
void phold_finish(phold_state *s, tw_lp *lp)