Autor: David Camuñas
Esta práctica perteneciente al laboratorio de la asignatura de Diseño de Infraestructura de Redes (DIR) de ESI - UCLM.
Se trata de un programa de renderizado gráfico, mediante el uso de funciones de MPI y MPI2.
Donde el programa se comenzará ejecutando con un único proceso (encargado de mostrar la imagen), proceso principal. Este proceso generará una serie de N procesos hijos (se encargarán del tratamiento de la imagen).
-
Tener instalado MPI.
-
Tener instalada la libreria libx11
$ sudo apt-get install libx11-dev
Con este comando se crearan los diferentes directorios entre ellos el directorio que contiene el archivo ejecutable del programa.
$ make dirs
Este comando se ha utilizado para limpiar los directorios en los que se almacenan los ejecutables y las clases objetos (explicada anteriormente su creación).
$ make clean
El proceso de compilación, se puede realizar de varias formas:
-
Automaticamente con Makefile: $ make compile
También con $ make all* (se crearán los directorios necesarios y se compilará posteriormente) -
Manualmente: $ mpicc src/pract2.c -I include/ -lx11 -DEMPLOYEES_NUMBER=8 -o exec/pract2
Donde se puede observar la opción -I include/ la cual define donde se encuentran las librerias propias (definitions.h). Y la definición la utilización de la libreria -lX11.
Para la ejecución del programa se puede realizar al igual que la compilación de varias formas:
-
Automaticamente con Makefile:
- $ make solution (se mostrará la imagen original)
- $ make solution_sepia (se mostrará la imagen con filtro o tono sepia).
- $ make solution_blackwhite (se mostrará la imagen en blanco y negro).
- $ make solution_negativo (se mostrará la imagen donde cada pixel se mostrará con su color complementario).
-
Manualmente: $ mpirun -n 1 ./exec/pract2