Skip to main content

This is my blog, more about me at marianoguerra.github.io

🦋 @marianoguerra.org 🐘 @marianoguerra@hachyderm.io 🐦 @warianoguerra

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