idmtools_platform_comps.comps_operations.simulation_operations module¶
idmtools comps simulation operations.
Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.
- idmtools_platform_comps.comps_operations.simulation_operations.comps_batch_worker(simulations: List[idmtools.entities.simulation.Simulation], interface: idmtools_platform_comps.comps_operations.simulation_operations.CompsPlatformSimulationOperations, executor, num_cores: Optional[int] = None, priority: Optional[str] = None, asset_collection_id: Optional[Union[str, uuid.UUID]] = None, min_time_between_commissions: int = 10, **kwargs) List[COMPS.Data.Simulation.Simulation] ¶
Run batch worker.
- Parameters:
simulations – Batch of simulation to process
interface – SimulationOperation Interface
executor – Thread/process executor
num_cores – Optional Number of core to allocate for MPI
priority – Optional Priority to set to
asset_collection_id – Override asset collection id
min_time_between_commissions – Minimum amount of time(in seconds) between calls to commission on an experiment
for (extra info) –
- Returns:
List of Comps Simulations
- class idmtools_platform_comps.comps_operations.simulation_operations.CompsPlatformSimulationOperations(platform: COMPSPlatform, platform_type: typing.Type = <class 'COMPS.Data.Simulation.Simulation'>)¶
Bases:
idmtools.entities.iplatform_ops.iplatform_simulation_operations.IPlatformSimulationOperations
Provides simuilation operations to COMPSPlatform.
- platform: COMPSPlatform¶
- platform_type¶
alias of
COMPS.Data.Simulation.Simulation
- get(simulation_id: uuid.UUID, columns: Optional[List[str]] = None, load_children: Optional[List[str]] = None, query_criteria: Optional[COMPS.Data.QueryCriteria.QueryCriteria] = None, **kwargs) COMPS.Data.Simulation.Simulation ¶
Get Simulation from Comps.
- Parameters:
simulation_id – ID
columns – Optional list of columns to load. Defaults to “id”, “name”, “experiment_id”, “state”
load_children – Optional children to load. Defaults to “tags”, “configuration”
query_criteria – Optional query_criteria object to use your own custom criteria object
**kwargs –
- Returns:
COMPSSimulation
- platform_create(simulation: idmtools.entities.simulation.Simulation, num_cores: Optional[int] = None, priority: Optional[str] = None, enable_platform_task_hooks: bool = True, asset_collection_id: Optional[Union[str, uuid.UUID]] = None, **kwargs) COMPS.Data.Simulation.Simulation ¶
Create Simulation on COMPS.
- Parameters:
simulation – Simulation to create
num_cores – Optional number of MPI Cores to allocate
priority – Priority to load
enable_platform_task_hooks – Should platform task hoooks be ran
asset_collection_id – Override for asset collection id on sim
**kwargs – Expansion fields
- Returns:
COMPS Simulation
- to_comps_sim(simulation: idmtools.entities.simulation.Simulation, num_cores: Optional[int] = None, priority: Optional[str] = None, config: Optional[COMPS.Data.Configuration.Configuration] = None, asset_collection_id: Optional[Union[str, uuid.UUID]] = None, **kwargs)¶
Covert IDMTools object to COMPS Object.
- Parameters:
simulation – Simulation object to convert
num_cores – Optional Num of MPI Cores to allocate
priority – Optional Priority
config – Optional Configuration object
asset_collection_id –
comps (**kwargs additional option for) –
- Returns:
COMPS Simulation
- get_simulation_config_from_simulation(simulation: idmtools.entities.simulation.Simulation, num_cores: Optional[int] = None, priority: Optional[str] = None, asset_collection_id: Optional[uuid.UUID] = None, **kwargs) COMPS.Data.Configuration.Configuration ¶
Get the comps configuration for a Simulation Object.
- Parameters:
simulation – Simulation
num_cores – Optional Num of core for MPI
priority – Optional Priority
asset_collection_id – Override simulation asset_collection_id
comps (**kwargs additional option for) –
- Returns:
Configuration
- batch_create(simulations: List[idmtools.entities.simulation.Simulation], num_cores: Optional[int] = None, priority: Optional[str] = None, asset_collection_id: Optional[Union[str, uuid.UUID]] = None, **kwargs) List[COMPS.Data.Simulation.Simulation] ¶
Perform batch creation of Simulations.
- Parameters:
simulations – Simulation to create
num_cores – Optional MPI Cores to allocate per simulation
priority – Optional Priority
asset_collection_id – Asset collection id for sim(overide experiment)
**kwargs – Future expansion
- Returns:
List of COMPSSimulations that were created
- get_parent(simulation: Any, **kwargs) COMPS.Data.Experiment.Experiment ¶
Get the parent of the simulation.
- Parameters:
simulation – Simulation to load parent for
**kwargs –
- Returns:
COMPSExperiment
- platform_run_item(simulation: idmtools.entities.simulation.Simulation, **kwargs)¶
For simulations, there is no running for COMPS.
- send_assets(simulation: idmtools.entities.simulation.Simulation, comps_sim: Optional[COMPS.Data.Simulation.Simulation] = None, add_metadata: bool = False, **kwargs)¶
Send assets to Simulation.
- Parameters:
simulation – Simulation to send asset for
comps_sim – Optional COMPSSimulation object to prevent reloading it
add_metadata – Add idmtools metadata object
**kwargs –
- Returns:
None
- refresh_status(simulation: idmtools.entities.simulation.Simulation, additional_columns: Optional[List[str]] = None, **kwargs)¶
Refresh status of a simulation.
- Parameters:
simulation – Simulation to refresh
additional_columns – Optional additional columns to load from COMPS
**kwargs –
- Returns:
None
- to_entity(simulation: COMPS.Data.Simulation.Simulation, load_task: bool = False, parent: Optional[idmtools.entities.experiment.Experiment] = None, load_parent: bool = False, load_metadata: bool = False, load_cli_from_workorder: bool = False, **kwargs) idmtools.entities.simulation.Simulation ¶
Convert COMPS simulation object to IDM Tools simulation object.
- Parameters:
simulation – Simulation object
load_task – Should we load tasks. Defaults to No. This can increase the load items on fetchs
parent – Optional parent object to prevent reloads
load_parent – Force load of parent(Beware, This could cause loading loops)
load_metadata – Should we load metadata by default. If load task is enabled, this is also enabled
load_cli_from_workorder – Used with COMPS scheduling where the CLI is defined in our workorder
**kwargs –
- Returns:
Simulation object
- get_asset_collection_from_comps_simulation(simulation: COMPS.Data.Simulation.Simulation) Optional[idmtools.assets.asset_collection.AssetCollection] ¶
Get assets from COMPS Simulation.
- Parameters:
simulation – Simulation to get assets from
- Returns:
Simulation Asset Collection, if any.
- get_assets(simulation: idmtools.entities.simulation.Simulation, files: List[str], include_experiment_assets: bool = True, **kwargs) Dict[str, bytearray] ¶
Fetch the files associated with a simulation.
- Parameters:
simulation – Simulation
files – List of files to download
include_experiment_assets – Should we also load experiment assets?
**kwargs –
- Returns:
Dictionary of filename -> ByteArray
- list_assets(simulation: idmtools.entities.simulation.Simulation, common_assets: bool = False, **kwargs) List[idmtools.assets.asset.Asset] ¶
List assets for a simulation.
- Parameters:
simulation – Simulation to load data for
common_assets – Should we load asset files
**kwargs –
- Returns:
AssetCollection
- retrieve_output_files(simulation: idmtools.entities.simulation.Simulation)¶
Retrieve the output files for a simulation.
- Parameters:
simulation – Simulation to fetch files for
- Returns:
List of output files for simulation
- all_files(simulation: idmtools.entities.simulation.Simulation, common_assets: bool = False, outfiles: bool = True, **kwargs) List[idmtools.assets.asset.Asset] ¶
Returns all files for a specific simulation including experiments or non-assets.
- Parameters:
simulation – Simulation all files
common_assets – Include experiment assets
outfiles – Include output files
**kwargs –
- Returns:
AssetCollection