mml on a cluster

Especially for large scale or hardware demanding experiments it is nice to outsource experiments to a cluster. It is straightforward to set up mml for compatible use throughout multiple systems. mml ships with a cluster configuration provided within configs/sys. It loads the environment variables MML_CLUSTER_DATA_PATH, MML_CLUSTER_RESULTS_PATH and MML_CLUSTER_WORKERS exported in the mml.env file instead of the local ones (adding even more system configurations can be achieved similarly via additional sys config files). Now the only difference in calling mml becomes:

!mml ... sys=cluster 

Of course the respective paths must be available on the other system and kept in sync (e.g. via rsync). It is possible to manage cluster jobs and data syncing via a JobRunner - see the mml-lsf plugin for an example on how to interact easily with an LSF cluster.