Compartir a través de


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

Consulte también

Funciones colectivas de MPI

MPI_Datatype