Inicializa la estructura de comunicación de MPI entre los procesos.
Ninguna función de comunicación MPI funcionará sin esta instrucción al inicio.
#include "mpi.h" int MPI_Init (int *argc, char ***argv)
argc | Puntero al número de argumentos |
argv | Puntero al vector de argumentos |
Esta función inicializa todas las estructuras de datos necesarias para permitir la comunicación entre procesos basados en el envío de mensajes MPI. Reserva el canal de comunicación, asigna un valor a la constante MPI_COMM_WORLD Esta rutina, o MPI_Init_thead, debe ser llamado antes que cualquier otra rutina de MPI. Debe ser llamada una única vez, en caso de no hacerlo así sería erroneo.
Todos los programas MPI deben tener siempre una llamada a esta función. Los argumentos que recibe no son ni modificados, ni interpretados ni distribuidos.
De esta forma, un programa normal MPI debería quedar de la siguiente forma:
int main(int argc, char* argv[]){ /* Declaracion de variables */ MPI_Init(&argc, &argv); /* Reparto de contenido */ /* Bucle principal del programa */ MPI_Finalize(); }
El estándar MPI permite que MPI_Init reciba argumentos de entrada, sin embargo no se especifica qué deben hacer. OpenMPI no los utiliza para nada en absoluto, otras implementaciones como MPICH o MPICH2 si les dan uso a los argumentos de entrada.
MPI_SUCCESS | No ha habido error, la función MPI se ha realizado satisfactoriamente. |
MPI_ERR_OTHER | Significa que se ha llamado más de una vez a la función MPI_Init. |