.. _notes: Notes ===== Once Spring has been installed it is ready to run in a multi-CPU environment. Spring uses Mpi4py to parallelize the \ computing tasks and it can be run on high-performance computing clusters. How to launch multi-CPU jobs ---------------------------- Single multi-CPU machine ^^^^^^^^^^^^^^^^^^^^^^^^ The programs can be launched from the GUI interface or from the command line and number of available CPUs can be \ specified in the parameter "Number of CPUs". Computer cluster with multi-CPU nodes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A Spring job can be spread across multiple machines that belong to a computer cluster. If you have set up \ passwordless SSH (`OpenMpi FAQ entry `_) the program will \ internally distribute the work load to the assigned nodes. Spring has been tested for SLURM, PBS, LSF and Sungrid \ engine submission systems. Save a parameter file as a python file for cluster submission in the Spring GUI. Example ~~~~~~~ +-----------+------------+ | resource | requested | +-----------+------------+ | CPUs | 30 | +-----------+------------+ | memory | 2600 MB | +-----------+------------+ | queue | queue_name | +-----------+------------+ | tmp-space | 10 GB | +-----------+------------+ * SLURM submission system: .. code-block:: console % sbatch -N 30 --mem-per-cpu=2600 --tmp=10000 segment_1x.py * PBS submission system: .. code-block:: console % qsub -r n -q queue_name -l select=30:ncpus=1:mem=2600mb segment_1x.py * LSF submission system: .. code-block:: console % bsub -q queue_name -M 100000 -R "select[tmp>10000]" -R "rusage[mem=2600]" -o ref009.log -n 30 segmentrefine3d.py * Sungrid engine submission system: .. code-block:: console % qsub -V -cwd -pe openmpi 30 segment_1x.py A note on the "Temporary directory" ----------------------------------- Spring deposits GB of temporary files to the specified temporary space. This should ideally be a directory local \ to the host node to make use of fast disk access and to avoid excessive network file traffic. The directory should \ have a minimum of 5 GB per node available. If Spring crashes it will attempt to clear those temporary directories. \ Depending on the nature of the aborting process, this will not always be possible. Therefore, you should monitor \ disk usage of your temporary directory space and run cleanup scripts regularly.