mpi en ubuntu
como instalar y usar mpi en ubuntu para programar?
sudo aptitude install mpich-bin libmpich1.0-dev ssh
iniciamos el servidor ssh:
sudo /etc/init.d/ssh start
creamos un archivo hello.c
/* C Example */
#include <stdio.h>
#include <mpi.h>
int main (int argc, char** argv)
{
int rank, size;
MPI_Init (&argc, &argv); /* starts MPI */
MPI_Comm_rank (MPI_COMM_WORLD, &rank); /* get current process id */
MPI_Comm_size (MPI_COMM_WORLD, &size); /* get number of processes */
printf( "Hello world from process %d of %d\n", rank, size );
MPI_Finalize();
return 0;
}
compilamos el ejemplo:
mpicc hello.c -o hellompi
corremos el ejemplo con 4 procesos:
mpirun -np 4 ./hellompi
para que no nos pida el password por cada proceso hacemos lo siguiente
generamos las claves para el ssh
ssh-keygen -t dsa
y agregamos la clave a la lista autorizada (si ya tenes ~/.ssh/authorized_keys agrega la clave al final)
cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys
y volia!
mariano@ganesha:~$ mpirun -np 4 ./hellompi
Hello world from process 0 of 4
Hello world from process 2 of 4
Hello world from process 1 of 4
Hello world from process 3 of 4
PD: yo ya tenia instalado build-essential, si no lo instala hay que instalarlo a mano
PD2: esto funciona en debian y derivados, en fedora supongo que hay que cambiar aptitude por yum y sale andando