sierra.core.generators.experiment#

Experiment generation classes.

Experiment generation modifies the BaseExpDef object built from the specified batch criteria as follows:

  • Engine-specific modifications common to all batch experiments

  • Project-specific modifications common to all batch experiments

  • Modifications generated by the selected controller+scenario

NOTE:: Generated definitions from batch criteria are not handled here; they are

already generated to scaffold the batch experiment when experiment generation is run.

Classes#

BatchExpCreator

Instantiate a Batch Experiment.

BatchExpDefGenerator

Generate experiment definitions for a Batch Experiment.

ExpCreator

Instantiate a generated experiment from an experiment definition.

Module Contents#

class sierra.core.generators.experiment.BatchExpCreator(criteria: sierra.core.variables.batch_criteria.XVarBatchCriteria, cmdopts: sierra.core.types.Cmdopts, pathset: sierra.core.batchroot.PathSet)[source]#

Instantiate a Batch Experiment.

Calls ExpCreator on each experimental definition in the batch

class sierra.core.generators.experiment.BatchExpDefGenerator(criteria: sierra.core.variables.batch_criteria.XVarBatchCriteria, pathset: sierra.core.batchroot.PathSet, controller_name: str, scenario_basename: str, cmdopts: sierra.core.types.Cmdopts)[source]#

Generate experiment definitions for a Batch Experiment.

Does not create the batch experiment after generation.

generate_defs() list[sierra.core.experiment.definition.BaseExpDef][source]#

Generate and return the batch experiment definition.

Returns:

A list of experiment definitions (one for each experiment in the batch).

class sierra.core.generators.experiment.ExpCreator(cmdopts: sierra.core.types.Cmdopts, criteria: sierra.core.variables.batch_criteria.XVarBatchCriteria, template_ipath: pathlib.Path, pathset: sierra.core.exproot.PathSet, exp_num: int)[source]#

Instantiate a generated experiment from an experiment definition.

Takes generated Experiment definitions and writes them to the filesystem.

Parameters:

template_ipath -- Absolute path to the template expdef configuration file.

from_def(exp_def: sierra.core.experiment.definition.BaseExpDef, parallelism_paradigm: str) None[source]#

Create all experimental runs by writing input files to filesystem.

The passed BaseExpDef object contains all changes that should be made to all runs in the experiment. Additional changes to create a set of unique runs from which distributions of system behavior can be meaningfully computed post-hoc are added.