Platforms#

idmtools currently supports running on the following platforms:

COMPS: Computational Modeling Platform Service (COMPS) is a high performance computing cluster used by employees and collaborators at IDM. To support running simulations and analysis on COMPS, idmtools includes the following modules: idmtools_platform_comps.

Note

COMPS access is restricted to IDM employees. See additional documentation for using idmtools with other high-performance computing clusters.

SLURM: OR you can run simulations on the open-source SLURM platform for large and small Linux clusters. For more information, see Slurm Platform.

CONTAINER: Or You can run simulations on the docker Container platform on your local host. For more information, see Container Platform.

If you need to use a different platform, you can also add a new platform to idmtools by creating a new platform plugin, as described in Create platform plugin.

You can use the idmtools.ini file to configure platform specific settings, as the following examples shows for COMPS:

[COMPS]
type = COMPS
endpoint = https://comps.idmod.org
environment = Calculon
priority = Lowest
simulation_root = $COMPS_PATH(USER)\output
node_group = idm_abcd
num_retires = 0
num_cores = 1
max_workers = 16
batch_size = 10
exclusive = False

As an alternative to the INI based configurations, some platforms such as COMPS provide predefined configurations aliases. With those aliases, you can use an alias for a known environment without a config. To see a list of aliases, use the cli command idmtools info plugins platform-aliases.

Within your code you use the Platform class to specify which platform idmtools will use. For example, the following excerpt sets platform to use COMPS and overrides priority and node_group settings.:

platform = Platform('COMPS',priority='AboveNormal',node_group='idm_a')

You use the Platform class whether you’re building or running an experiment, or running analysis on output from simulations.

For additional information about configuring idmtools.ini, see Configure.