Obtiene el número de elementos de alto nivel recibidos en un mensaje (En lugar del número de Bytes).
#include <mpi.h> int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count)
#include <mpi.h> int Status::Get_count(const Datatype& datatype) const
status | Dato de tipo MPI_Status que contiene toda la información relevante sobre la operación de recibimiento. |
datatype | Indica el tipo de dato de cada elemento del mensaje (Por ejemplo MPI_INT, MPI_CHAR, etc). |
count | Número de elementos recibidos (int). |
Devuelve el número de elementos del tipo indicado que se van a recibir en el mensaje (identificado por el dato status, de tipo MPI_Status). El tipo de dato indicado debe ser el mismo tipo de dato que se recibe en el mensaje.
El tipo de dato del argumento se pasa a MPI_Get_count para mejorar el rendimiento. Un mensaje puede ser recibido sin contar el número de elementos que contiene y, a menudo, el valor de count (del número de elementos) no es necesario. Esto además permite que la misma función sea utilizada tras una llamada a MPI_Probe.
Si el tamaño (en Bytes) del tipo de dato es cero, la rutina devolvera un valor de count igual a cero. Si la cantidad de datos (en Bytes) del status (de MPI_Status) no es un múltiplo exacto del tamaño del tipo de dato(en Bytes), se devolverá el valor MPI_UNDEFINED en el count.
MPI_SUCCESS | No ha habido error, la función se ha realizado correctamente. |
MPI_ERR_TYPE | Tipo de dato del argumento no válido. En general eso sucede si no se ha hecho commit del tipo de dato MPI_Datatype (véase MPI_Type_commit). |