Soma-workflow logo

Parallel computing resources are now highly available: multiple core machines, clusters or grids.

Soma-workflow is a unified and simple interface to parallel computing resources. It aims at making easier the use of parallel resources by non expert users and software.

Soma-workflow is an open source Python application.

_images/gui_overview.png

Overview of soma-workflow graphical user interface

Communication

  • MICCAI 2011 workshop High Performance and Distributed Computing for Medical Imaging, September 22nd 2011, Toronto: paper, poster
  • Python in Neuroscience workshop satellite to Euroscipy, August 29-30 2011, Paris: abstract, presentation
  • HBM Annual Meeting 2011, Quebec: poster

New !! Version 2.1

  • Documentation: soma-workflow 2.1 documentation

  • Download: Soma-workflow on PyPI

  • What is new in version 2.1:

    • Intermediate results can be available more quickly defining job priorities within workflows (see Soma-workflow tips)
    • Improvement of the graphical interface (see GUI documentation):
      • Overview of the status of all workflows at a glance.
      • Easy pinpoint of jobs within workflows: job filter by status or name.
      • Multiple core machine: the number of employed cpu can be changed at any time directly from the GUI.
      • Display of the queue used for each workflow.
    • Optimizations.
    • Better error management and stability.
    • Possible configuration of login for each computing resource.
    • Possibility to change the submission queue when restarting a workflow.

Quick start on a multiple core machine:

  • Requirements: Python 2.5 or more (< 3.0). For the GUI: Qt version 4.6.2 or more, PyQt version 4.7.2 or more and optionally matplotlib version 0.99 or more.

  • We recommend to install Soma-workflow in a local directory: no special rights required & easy clean up at any time removing the local directory.

    1. Create a local directory such as ~/.local/lib/python2.6/site-packages and create the bin directory: ~/.local/bin

    2. Setup the environment variables with the commands:

      $ export PYTHONPATH=$HOME/.local/lib/python2.6/site-packages:$PYTHONPATH
      
      $ export PATH=$HOME/.local/bin:$PATH

    You can copy these lines in your ~/.bashrc for an automatic setup of the variables at login.

  • Download the latest tarball from PyPI and expand it.

  • Install Soma-workflow in the ~/.local directory:

    $ python setup.py install --user

    If you chose a different name for you local directory (ex: ~/mylocal) use instead the following command:

    $ python setup.py install --prefix ~/mylocal
  • Run the GUI:

    $ soma_workflow_gui
  • Run the documentation examples.

Older versions

  • New in version 2.0:
    • Soma-workflow can be used directly on a multiple core machine.
    • Soma-workflow is independent of DRMAA and interaction with other interfaces can be easily implemented.
    • File transfers: New API with several implementations (scp, rsync or a portable implementation).
    • New control feature: possibility to stop the workflows.
    • + optimizations
  • First release version 1.0