SST/macro
|
Go to the source code of this file.
Classes | |
struct | uq_param_t |
Enumerations | |
enum | uq_param_type_t { ByteLength, Bandwidth, Latency, Time, Frequency, String, ValueWithUnits } |
enum | uq_spawn_type_t { Fork, MPIScan } |
Functions | |
double ** | allocate_results (void *queue, int njobs, int nresults) |
Allocate a 2D double array. More... | |
double ** | allocate_values (void *queue, int njobs, int nparams) |
Allocate a 2D double array. More... | |
uq_param_t ** | allocate_params (int njobs, int nparams) |
Allocate a 2D array of param structs. More... | |
int | sstmac_uq_int_param (void *queue, const char *param) |
int | sstmac_uq_double_param (void *queue, const char *param) |
int | sstmac_uq_sim_nproc (void *queue) |
int | sstmac_uq_max_nproc (void *queue) |
void | free_results (double **results) |
Free a 2D array allocated by allocate_results function. More... | |
void | free_values (double **values) |
Free a 2D array allocated by allocate_values function. More... | |
void | free_params (uq_param_t **params) |
Free a 2D array allocated by allocate_params function. More... | |
void * | sstmac_uq_init (int argc, char **argv, int *workerID) |
void | sstmac_uq_stop (void *queue) |
void | sstmac_uq_busy_loop (void *queue) |
void | sstmac_uq_run (void *queue, int njobs, int nparams, int nresults, int max_nthread, const char *param_names[], uq_param_t *param_values[], double *results[], uq_spawn_type_t ty) |
Run a set of jobs with particular parameters, forking new procs for parallelism. More... | |
void | sstmac_uq_run_units (void *queue, int njobs, int nparams, int nresults, int max_nthread, const char *param_names[], double *param_values[], const char *units[], double *results[], uq_spawn_type_t spwan_ty) |
Run a set of jobs with particular parameters. More... | |
void | sstmac_uq_finalize (void *queue) |
enum uq_param_type_t |
enum uq_spawn_type_t |
uq_param_t** allocate_params | ( | int | njobs, |
int | nparams | ||
) |
Allocate a 2D array of param structs.
njobs | |
nparams |
double** allocate_results | ( | void * | queue, |
int | njobs, | ||
int | nresults | ||
) |
Allocate a 2D double array.
njobs | |
nresults |
double** allocate_values | ( | void * | queue, |
int | njobs, | ||
int | nparams | ||
) |
Allocate a 2D double array.
njobs | |
nparams |
void free_params | ( | uq_param_t ** | params | ) |
Free a 2D array allocated by allocate_params function.
params |
void free_results | ( | double ** | results | ) |
Free a 2D array allocated by allocate_results function.
results |
void free_values | ( | double ** | values | ) |
Free a 2D array allocated by allocate_values function.
values |
void sstmac_uq_busy_loop | ( | void * | queue | ) |
int sstmac_uq_double_param | ( | void * | queue, |
const char * | param | ||
) |
void sstmac_uq_finalize | ( | void * | queue | ) |
queue | A pointer to a queue object created by sstmac_uq_init After finalize, the queue is no longer usable and all resources used by the queue are freed |
void* sstmac_uq_init | ( | int | argc, |
char ** | argv, | ||
int * | workerID | ||
) |
argc | The argc that would be used by a standalone SST/macro simulation |
argv | The argv that would be used by a standalone SST/macro simulation |
workerID | The ID of this worker in a parallel group. 0 return means master. Workers who receiver other than zero should immediately go into sstmac_uq_busy_loop and do nothing else. |
int sstmac_uq_int_param | ( | void * | queue, |
const char * | param | ||
) |
int sstmac_uq_max_nproc | ( | void * | queue | ) |
void sstmac_uq_run | ( | void * | queue, |
int | njobs, | ||
int | nparams, | ||
int | nresults, | ||
int | max_nthread, | ||
const char * | param_names[], | ||
uq_param_t * | param_values[], | ||
double * | results[], | ||
uq_spawn_type_t | ty | ||
) |
Run a set of jobs with particular parameters, forking new procs for parallelism.
queue | A pointer to a queue object created by sstmac_uq_init |
njobs | The number of jobs (simulations) to run |
nparams | The number of parameters to set for each job |
nresults | The number of results returned by each job |
max_nthread | The maximum number of threads or, i.e. the max number of jobs that can run simultaneously |
param_names | An array of size nparams. The name of each parameter to configure for each job |
param_values | A 2D array of size njobs X nparams The value corresponding to each paramter for all jobs Indexed as p[jobID][paramID] |
results | A 2D array of size njobs X nresults Will hold the result values for each job Indexed as p[jobID][resultID] |
ty | The type of run to perform. Fork new procs or MPI scan. |
void sstmac_uq_run_units | ( | void * | queue, |
int | njobs, | ||
int | nparams, | ||
int | nresults, | ||
int | max_nthread, | ||
const char * | param_names[], | ||
double * | param_values[], | ||
const char * | units[], | ||
double * | results[], | ||
uq_spawn_type_t | spwan_ty | ||
) |
Run a set of jobs with particular parameters.
queue | A pointer to a queue object created by sstmac_uq_init |
njobs | The number of jobs (simulations) to run |
nparams | The number of parameters to set for each job |
nresults | The number of results returned by each job |
max_nthread | The maximum number of threads or, i.e. the max number of jobs that can run simultaneously |
param_names | An array of size nparams. The name of each parameter to configure for each job |
param_values | A 2D array of size njobs X nparams The value corresponding to each paramter for all jobs Indexed as p[jobID][paramID] |
results | A 2D array of size njobs X nresults Will hold the result values for each job Indexed as p[jobID][resultID] |
int sstmac_uq_sim_nproc | ( | void * | queue | ) |
void sstmac_uq_stop | ( | void * | queue | ) |