Procesamiento de matrices en paralelo con MPICH2@ROCKS - 05/07/2007, 15:39

Bueno, este es el primer programa en Fortran90/MPICH que me queda bien y no es sacado de ningún tutorial :P

Este programa reparte renglones de una matriz a cada nodo que participe en el cluster MPICH para que se procese y recibe los resultados para juntarlos en la matriz ya procesada.

Esto es parte de lo que he estado haciendo como servicio social en la Torre de Ingeniería...

A ver qué tal les parece:
Ingenieria/mat-paralelo.f90

Por el momento ya lo corrí en un cluster de aquí de Ingeniería hecho con ROCKS (una distro de GNU/Linux para Clústers) y MPICH2 v1.0.5 y aquí está más o menos como funcionó:


[avalenzuelar@cluster mat]$ mpirun -n 6 /home/avalenzuelar/mat/mat
Enviando renglón 1 al nodo 2
Enviando renglón 2 al nodo 5
Enviando renglón 3 al nodo 4
Enviando renglón 4 al nodo 3
Enviando renglón 5 al nodo 1
Recibiendo datos del n 4 y almacenando en r 3
Recibiendo datos del n 2 y almacenando en r 1
Recibiendo datos del n 5 y almacenando en r 2
Recibiendo datos del n 3 y almacenando en r 4
Recibiendo datos del n 1 y almacenando en r 5
Enviando renglón 6 al nodo 2
Enviando renglón 7 al nodo 5
Enviando renglón 8 al nodo 4
Enviando renglón 9 al nodo 3
Recibiendo datos del n 5 y almacenando en r 7
Enviando renglón 10 al nodo 1
Recibiendo datos del n 2 y almacenando en r 6
Recibiendo datos del n 4 y almacenando en r 8
Recibiendo datos del n 3 y almacenando en r 9
Recibiendo datos del n 1 y almacenando en r 10
Enviando renglón 11 al nodo 2
Enviando orden de detenerse al nodo 5
Enviando orden de detenerse al nodo 4
Recibiendo datos del n 2 y almacenando en r 11
Enviando orden de detenerse al nodo 3
Enviando orden de detenerse al nodo 1
Enviando orden de detenerse al nodo 2
[ 1 , 1 ]= 2.000000
[ 2 , 1 ]= 202.0000
[ 3 , 1 ]= 204.0000
[....]


Ahora lo que pretendo hacer es mandar un bloque de datos en vez de un renglón, creo que sería más eficiente. Estoy usando un libro electrónico que me parece, sólo se puede consultar desde C.U. o si tienes suscripción en la siguiente dirección:
http://proquest.safaribooksonline.com/0201648652/ch06

A ver si puedo correr "benchmarks" al rato y hacer comparaciones :)


< Back to blog

This site doesn't use cookies, does not log IPs and does not track you in any way.