MPI_Bcast función
Difunde datos de un miembro de un grupo a todos los miembros del grupo.
Sintaxis
int MPIAPI MPI_Bcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm
);
Parámetros
buffer [in, out]
Puntero al búfer de datos. En el proceso especificado por el parámetro raíz , el búfer contiene los datos que se van a difundir. En todos los demás procesos del comunicador especificados por el parámetro comm , el búfer recibe la difusión de datos por el proceso raíz.count [in]
Número de elementos de datos en el búfer. Si el parámetro count es cero, la parte de datos del mensaje está vacía.datatype [in]
Tipo de datos MPI de los elementos del búfer de envío.raíz [in]
Rango del proceso que envía los datos.comm [in]
Identificador del comunicador MPI_Comm.
Valor devuelto
Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.
En Fortran, el valor devuelto se almacena en el parámetro IERROR .
Fortran
MPI_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR
Comentarios
La firma de tipo especificada por los parámetros count y datatype de cada proceso debe ser igual a la firma de tipo en la raíz. Este requisito implica que la cantidad de datos enviados debe ser igual a la cantidad recibida, emparejada entre cada proceso y la raíz. MPI_Bcast y todas las demás rutinas colectivas de movimiento de datos hacen esta restricción. Se siguen permitiendo asignaciones de tipos distintos entre remitente y receptor.
Si el parámetro comm hace referencia a un intracomunicador, la función MPI_Bcast difunde un mensaje del proceso especificado a todos los procesos del grupo que se incluye a sí mismo. Llama a todos los miembros del grupo que usan los mismos parámetros. A cambio, el contenido del búfer raíz se copia en todos los demás procesos.
Si el parámetro comm hace referencia a un intercomunicador, la llamada implica todos los procesos del intercomunicador, pero con un grupo, grupo A, que define el proceso raíz. Todos los procesos del otro grupo, grupo B, establecen el mismo valor en el parámetro raíz , es decir, la clasificación del proceso raíz del grupo A. El proceso raíz establece el valor MPI_ROOT en el parámetro raíz . Todos los demás procesos del grupo A establecen el valor MPI_PROC_NULL en el parámetro raíz . Los datos se difunden desde el proceso raíz a todos los procesos del grupo B. Los parámetros de búfer de los procesos del grupo B deben ser coherentes con el parámetro de búfer del proceso raíz.
Requisitos
Producto |
Paquete redistribuible DE HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Client Utilities |
Encabezado |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |