Skip to content

chrisjsewell/aiida-conda-scheduler

Repository files navigation

Build Status PyPI version

aiida_conda_scheduler

AiiDA scheduler plugins that allow for conda run.

Currently, as of aiida-core v2.0.1, it is impossible to set up a Computer + Code which can run, for example:

conda run --name myenv mpirun -np 4 pw.x -i input.in

since, (a) a code can only specify a remote_abs_path and (b) only a computer can specify the mpirun_command.

This is really the only way to run a code which is not in the Conda base environment, since conda activate myenv (which could perhaps be added to prepend_text) fails when run in a script.

These scheduler plugins subclass the built-in scheduler subclasses, and overrides the _get_run_line method and:

  1. Raises a NotImplementedError if len(codes_info) != 1 or codes_run_mode != CodeRunMode.SERIAL (i.e. only one code is supported).
  2. Loads the code from codes_info[0].code_uuid and retrieves its description
  3. Uses this description to determine the environment name, by finding env=myenv
  4. Appends conda run --name myenv to the run line.

Installation

pip install aiida_conda_scheduler
reentry scan  # aiida v1.x only

Then the plugins should show in:

verdi plugin list aiida.schedulers

Development

Use pipx to install the tox and pre-commit command tools.

git clone https://github.com/chrisjsewell/aiida-conda-scheduler .
cd aiida-conda-scheduler
pre-commit run --all
tox

For aiida-core v1, use e.g.

tox -e py38-v1

License

MIT

Contact

chrisj_sewell@hotmail.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages