1. Indice de pagina
  2. 1. Descripción breve
  3. 2. Descripción
  4. 2.1. MPI_Status
  5. 2.2. MPI_Comm
  6. 2.3. MPI_Request
  7. 2.4. MPI_Datatype

Descripción breve

MPI tiene algunos tipos de dato definidos para cumplir algunos propósitos específicos.

Descripción

A continuación citaremos los más importantes entre ellos:

MPI_Status

Se utiliza para guardar información sobre operaciones de recepción de mensajes (como por ejemplo MPI_Recv). Este tipo de dato guarda una estructura interna con los siguientes campos:

MPI_SOURCE Indica el rango del proceso origen en el comunicador en el que se realizó la transmisión (int).
MPI_TAG Valor de la etiqueta que tenía el mensaje (int).
size Número de elementos del tipo de dato especificado en el mensaje.
count Tamaño del mensaje en bytes (para obtener el número de elementos, por ejemplo si fuera un entero, sería "status.count/sizeof(int)").

Declaración:

MPI_Status status;

MPI_Comm

Este tipo de dato guarda toda la información relevante sobre un comunicador específico. Se utiliza para especificar el comunicador por el que se desea realizar las operaciónes de transmisión o recepción (como MPI_Send o MPI_Recv). Nótese que hay una constante que define al comunicador global, que es MPI_COMM_WORLD, este no se declara.

Declaración:

MPI_Comm comm;

MPI_Request

Se utiliza para identificar operaciones no bloqueantes, guarda una etiqueta identificativa para ellas. Esto se utiliza para poder consultar, por ejemplo, si la operación ha finalizado, o poder esperar a que finalice en un momento dado (véase por ejemplo MPI_Wait).

Declaración:

MPI_Request request;

MPI_Datatype

Se utiliza para especificar el tipo de dato de cada elemento que participa en la operación de envío o recepción (como MPI_Send o MPI_Recv). Acepta constantes definidas por MPI (Véase el apartado de constantes). Por ejemplo MPI_INT.

Creado por: Daniel Guerrero Martínez y Sergio Rodríguez Lumley 2010

Valid HTML 4.01 Transitional