Using the parallel version

The Linux version of Icare always runs a parallel computation. It is possible to chose the number of MPI processes in the options . However, the computation is performed locally, on the same computer.


Steps to run the parallel version of Icare on another system where the GUI is not installed :



1) Prepare


Prepare the project with the user interface (can be the Windows or the Linux version). Once the project is ready, launch it with this version to check if the first steps of the computation validate the project. This can be done with a coarse mesh. Even if the computation doesn't finish or isn't realistic, it is a good validation test.



2) Transfer


Transfer the project directory (projectName.gid) to the computer where the parallel version is installed.


A keyword in projectName.gid/data.txt may probably be changed :


#memory

1500                !RAM memory limit (Mb)

%TEMP%        !directory used to store temporary files (environment variables allowed)


Remarks :


* memory limit : memory allocated by each process

The total memory is : memory limit X number of processes.

The coded limit is 2047 Mb (2Gb), but it is recommended to chose a value below 1700 Mb per process if problems appear with the limit value.


* directory for temporary files :

This directory must be located on a hard drive large enough to contain the whole matrix.

/tmp is be a good choice. In case of error, the system will clean the remaining intermediates files. In addition, on a cluster of computers, /tmp may be local on each machine. In that case, the whole matrix may be distributed on the hard drive of each computer, reducing the required size of each disk and limiting the transfers on the network.

However, note that /tmp could have a limited size, smaller than the physical size.

Another common choice is to simply omit this field : the project directory will be used to store the temporary files.



3) Run


Launch Icare with the following command line :

mpirun -n nbProcess icare projectPath/projectName.gid


where nbProcess is the number of processes to run (generally the number of available processors), icare is the parallel exe linked with the MPI library, and projectPath is the path to the project directory (relative path allowed).



4) Post process


At the end of the simulation, the project directory can be transferred back to the computer of step 1 to post process the results with the user interface (to generate 3D visualisations for example).


Copyright © 2015, IEEA