1. Indice de pagina
  2. 1. Descripción breve
  3. 2. Sintaxis
  4. 2.1. En C
  5. 2.2. En C++
  6. 3. Parámetros
  7. 3.1. De entrada
  8. 3.2. De salida
  9. 4. Descripción
  10. 5. Errores
  11. 6. Véase también

MPI_Comm_split

Descripción breve

Crea nuevos comunicadores en base a un color y una clave

Sintaxis

En C

#include <mpi.h>
int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm)

En C++

#include <mpi.h>
MPI::Intercomm MPI::Intercomm::Split(int color, int key) const
MPI::Intracomm MPI::Intracomm::Split(int color, int key) const

Parámetros

De entrada

comm Comunicador padre, véase MPI_COMM_WORLD
color Identifica a que nuevo comunicador va a pertenecer (Entero no negativo)
key Indica prioridad a la hora de obtener el identificador dentro del nuevo comunicador. Cuanto mas bajo sea mayor prioridad. (Entero)

De salida

newcomm Referencia al nuevo comunicador.

Descripción

Esta función particiona en subgrupos los procesos asociados al comunicador padre (comm), agrupando los procesos del mismo color en un nuevo comunicador (newcomm). Se crearan tantos subgrupos como colores haya. Dentro de cada subgrupo los proceso tendrá un identificador, asignado por prioridad, tomando como referencia el valor "key". Un proceso puede suministrar MPI_UNDEFINED como valor del color, no siendo este proceso asociado a ningún subgrupo, devolviendo la función MPI_COMM_NULL como nuevo comunicador (newcomm).

En la siguiente imagen podemos ver, la acción de esta función


Imagen MPI_Comm_split (Pulsar sobre la imagen para ver la animación)

Errores

MPI_SUCCESS No ha habido error, la función MPI se ha realizado satisfactoriamente.
MPI_ERR_COMM Comunicador inváido. Error comun si se usa un comunicador 'Nulo'

Véase también

MPI_Comm_free

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

Valid HTML 4.01 Transitional