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_Cart_create

Descripción breve

Crea un nuevo comunicador con topología cartesiana

Sintaxis

En C

#include <mpi.h>
int MPI_Cart_create(MPI_Comm comm_old, int ndims, int *dims,
        int *periods, int reorder, MPI_Comm *comm_cart)

En C++

#include <mpi.h>
Cartcomm Intracomm::Create_cart(int ndims, const int dims[],
            const bool periods[], bool reorder) const

Parámetros

De entrada

comm_old Comunicador de entrada.
ndims Numero de dimensiones de la rejilla cartesiana.
dims Array de enteros de tamaño ndims que especifica el numero de procesos de cada dimensión.
periods Array de booleanos de tamaño ndims que especifica si la topología es periódica (true) o no (false) en cada dimensión.
reorder Los rangos son reordenados a conveniencia de la topología física de la red (true), o no (false).

De salida

comm_cart Nuevo comunicador con topología cartesiana.

Descripción

MPI_Cart_create devuelve un nuevo comunicador con topológica cartesiana correspondiente a la información proporcionada.
Si reorder = false el rango de cada proceso en el nuevo comunicador sera el mismo. De lo contrario reordenara los procesos a fin de elegir una buena estructura equivalente a la topología física de la red.
Si el tamaño total de la malla cartesiana es inferior al numero de procesos del comunicador, entonces el resto de procesos retornaran MPI_COMM_NULL, análogamente a MPI_Comm_split. Se produce un error en la llamada si se especifica un tamaño de malla mas grande que el grupo de procesos.

Errores

MPI_SUCCESS No ha habido error, la función se ha completado satisfactoriamente.
MPI_ERR_TOPOLOGY Topología no válida. No hay un topología asociada a este comunicador.
MPI_ERR_DIMS Argumento dimensión ilegal. El argumento dimensión es nulo o tamaño menor o igual a 0.
MPI_ERR_ARG Valor de argumento no válido.

Véase también

MPI_Cart_coords
MPI_Cart_rank
MPI_Cart_shift

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

Valid HTML 4.01 Transitional