Monday, December 7, 2015

Criba de Eratóstenes con MPI



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