HfS multiprocessor procedures

Back to the main HfS page
HfS multiprocessor procedures are versions that use Open MPI (www.open-mpi.org) and run in parallel using a number of processors available in the machines, or in more than one host. The multiprocessor procedures hfs_cube_mp and hfs_nh3_cube_mp are naked versions of the single-processor versions, hfs_cube_sp and hfs_nh3_cube_sp, without any graphic output.


$ mpifort -fno-range-check -mcmodel=medium -ohfs_cube_mp hfs_cube_mp.f90
$ mpifort -fno-range-check -mcmodel=medium -ohfs_nh3_cube_mp hfs_cube_mp.f90
No need of linking with PGplot and X11 libraries. The compilation is performed by the shell script hfs_compile (see Installation).

Running locally

$ mpirun -np <N> hfs_cube_mp <parfile>.par
$ mpirun -np <N> hfs_nh3_cube_mp <parfile>.par
where <N> is the number of processors to use. To know the number (and characteristics) of processors in a Linux system, use
$ cat /proc/cpuinfo

Running in more than one host

For example, running in localhost and another host <otherhost>:
$ mpirun -np <N> -host localhost,<otherhost> hfs_cube_mp <parfile>.par
$ mpirun -np <N> -host localhost,<otherhost> hfs_nh3_cube_mp <parfile>.par
Here <N> is the total number of processors to use, distributed among the hosts listed after -host. If you want to know which are the processes run in each host, use the option -display-map.

Requisites for running in a remote host <otherhost>