En sentido estricto, MPI no cuenta con una manera de ejecutar aplicaciones que utilicen sus funciones. Este detalle se deja a cada implementación particular. MPICH provee el comando mpirun, que se encarga de inicializar los mecanismos de comunicación necesarios, así como los programas a ejecutar, y realizar la corrida de los mismos.
mpirun toma un parámetro -np para indicar en cuántos procesadores se va a ejecutar el programa. Como se describió la sección (2.2.12), en un cluster se tiene una lista de máquinas, cada una de las cuales cuenta como un procesador, de modo que si se especifica -np 5 se indica que se ejecutará el programa de MPI utilizando 5 nodos. Los procesos se inician en el orden que se especifica en el archivo de lista de nodos.
Entonces, para ejecutar el programa de multiplicación de matrices en MPI, se debe indicar el siguiente comando:
$ mpirun -np 17 ./matrix1 -d 650Este comando especifica ejecutar el programa utilizando 17 nodos, con una matriz de dimensión
La ejecución del programa en MPI fue relativamente limpia. No se proporciona un mecanismo de control para los procesos que se ejecutan en paralelo, lo cual supone una desventaja, aunque por otro lado, en caso de complicaciones, el detener el proceso inicial (la invocación de mpirun) automáticamente elimina los procesos generados en los nodos.
En caso de ocurrir algún error, MPI envía mensajes que en ocasiones no resultan obvios pero permiten suponer que ha ocurrido alguna complicación, en cuyo caso se puede detener el proceso restaurando el estado del sistema.