Open main menu

Changes

OpenMPI

1,216 bytes added, 09:13, 29 May 2015
# Python 2.4 to 2.7 or 3.0 to 3.4, or a recent PyPy release.
# A functional MPI 1.x/2.x/3.x implementation like MPICH or Open MPI built with shared/dynamic libraries.
 
== How does it work ? ==
 
If mpirun is started with "np 4", relax will get 4 "rank" processors. <br>
relax will organize 1 processor as "organizer" which sends jobs to 3 slaves, and receive and organize the returned results.
 
relax will for the main part of the code '''only use 1 processor'''. <br>
Only the computational heavy parts of relax are prepared for multi processing. <br>
And the computational heavy part is '''minimising''' to find optimal parameters. <br>
All other parts of relax are "light-weight", which only read/writes text files, or organize data.
 
For minimization, relax collects all data and functions organized into classes, and pack this as independent job to be send to a slave for minimizing.<br>
To pack a job, the job needs to have sufficient information to "live an independent life". The data to minimize, the functions to use, how treat the result, and send it return to the master. <br>
The master server asks this:
"Slave, find the minimization of this spin cluster, and return the results to me when you are done, then you get a new job".
 
For example 10 slaves, this makes it possible to
# Simultaneously minimise 10 free spins.
# Simultaneously make 10 Monte-Carlo simulations
== Install OpenMPI on linux and set environments ==
Trusted, Bureaucrats
1,382

edits