Hola, lectores.
Durante mi curso de Sistemas Distribuidos en maestría se me
dio la tarea de hacer una versión paralela del conocido algoritmo para obtener números
los primos en cierto rango, La Criba de Eratóstenes.
Debo decir que siempre he sido un googleador profesional. Es
decir, antes de buscar la solución a un problema, hago una búsqueda en Google
para revisar soluciones que ya existen, a veces incluso código fuente para
aterrizar el asunto (sé que no soy el único).
Lamentable y sorprendentemente, mi búsqueda no dio como
resultado un código en el cual basarme
para hacer este trabajo práctico, por lo que tuve que descifrar las propuestas
que encontré en pseudocódigo, lenguaje natural o matemático.
Supongo que la solución a la que llegue podría ser de
utilidad para alguien que se encuentre en la situación en la que me encontré yo,
así que la subo a este blog, para que esté disponible para esa pobre alma en
pena.
No diré que este código este optimizado, ni siquiera diré
que corre más rápido que su versión secuencial (es probable que tarde más).
Pero sí diré que es una implementación paralela de la Criba de Eratóstenes usando
MPI (Message Passing Interface). Más específicamente use MS-MPI
junto con Visual Studio 2015. Sugiero revisar el siguiente tutorial para
usar MS-MPI en Visual Studio: [link], en caso de que sean tan tontos como yo para seguir usando Windows.
Dejo un enlace a un PDF con el código fuente y una breve explicación
del mismo. Recomiendo usarlo solamente como algo didáctico (para entender
el funcionamiento de MPI) o quizás como base para generar una mejor solución
para el mismo problema.
No comments:
Post a Comment