Tutorial MPI en Debian Linux
Tutorial MPI en Debian Linux
Software requerido
● openmpi
● openssh
● nfs
● herramientas de desarrollo.
● un editor de texto sin formato
1. openmpi-bin
2. mpich
Configuración de la red
man interfaces
Configuración /etc/hosts
man hosts
En el nodo master, liste todos los nodos esclavos con sus direcciones y
nombres. En los nodos esclavos introduzca al menos el nodo master.
Cree un nuevo usuario mpiuser en todas las máquinas para mantener las
cosas simples.
adduser mpiuser
Los nodos van a estar hablando en la red a través de SSH y compartir archivos
a través de NFS.
ssh-keygen -t dsa
ssh-copy-id esclavo_1
ssh esclavo_1
En el nodo maestro se comparte un directorio con NFS para que los clientes
accedan a los datos.
mkdir data
a continuación ejecutar:
exportfs -a
man exports
mkdir data
man fstab
Instalación openmpi
Configuración de openmpi
Para que Open MPI sepa qué máquinas deben ejecutar sus programas, puede
crear un archivo para almacenarlo en el nodo maestro. Utilizaremos el archivo
/home/mpiuser/.mpi_hosts y podría contener lo siguiente:
localhost slots=2
esclavo_1
esclavo_2
esclavo_3
OpenMPI se puede utilizar con una variedad de lenguajes, dos de los más
populares son FORTRAN y 'C'. Si sus programas están escritos en 'C', entonces
puede usar mpicc en lugar de su compilador 'C' normal o puede pasar los
argumentos adicionales directamente a su compilador 'C'. Con mpicc los
argumentos que pasa son pasados a su compilador 'C' normal.
Si desea utilizar mpicc para compilar un archivo fuente 'C' llamado testmpi.c:
Código ejemplo
#include
#include
#include
int numTasks;
int rank;
int source;
int dest;
int rc;
int count;
int dataWaitingFlag;
char inMsg;
char outMsg;
MPI_Status Stat;
// Initialize the MPI stack and pass 'argc' and 'argv' to each slave node
MPI_Init(&argc,&argv);
MPI_Finalize();
}
... en construcción
Referencias
http://mpitutorial.com
https://www.open-mpi.org