How to Run AutoPot on a Cluster? ================================ To run AutoPot on a cluster, additional configuration is necessary. First, the compute nodes need to access the database through a TCP connection. This can be done by adding the host of the ZEO server in ``motoko.yaml`` for each task: .. code-block:: yaml select: host: zeo://cluster_name:8010 The number at the end is the port, which needs to be different for every task. Further, specify a submission manager, such as Slurm, and add options. This can be done at the workflow level by appending the following to ``motoko.yaml``: .. code-block:: yaml generator: slurmCoat slurm_options: - nodes=1 - ntasks=1 - cpus-per-task=1 A complete ``motoko.yaml`` file for cluster usage will look like this: .. code-block:: yaml task_managers: select: host: zeo://cluster_name:8010 md_select: host: zeo://cluster_name:8011 eam: host: zeo://cluster_name:8012 vasp: host: zeo://cluster_name:8013 train: host: zeo://cluster_name:8014 aliases: sp_calc: vasp orchestrator: orchestrator.main generator: slurmCoat slurm_options: - nodes=1 - ntasks=1 - cpus-per-task=1 In many situations, different Slurm setups are needed for different tasks. For example, MD simulations may run on one core, but VASP calculations may run on a whole node. This can be realized by adding ``slurm_options`` to the run parameters in the ``bd.yaml`` file corresponding to the ``vasp`` task: .. code-block:: yaml study: sp_calc job: cfg_fname: str incar_fname: str run: slurm_options: list job_space: incar_fname: INCAR_ase run_params: slurm_options: - nodes=1 - ntasks=64 - cpus-per-task=1 Any Slurm option defined in the ``bd.yaml`` file of a task will overwrite the options defined on the workflow level.