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_shift

Descripción breve

Devuelve el rango del proceso fuente y destino para una operación de movimiento en una topología cartesiana, teniendo en cuenta dirección y cantidad.

Sintaxis

En C

#include <mpi.h>
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp,
    int *rank_source, int *rank_dest)

En C++

#include <mpi.h>
void Cartcomm::Shift(int direction, int disp, int& rank_source,
        int& rank_dest) const

Parámetros

De entrada

comm Comunicador con estructura cartesiana.
direction Dimensión de la coordenada que cambia.
disp Desplazamiento.

De salida

rank_source Rango del proceso origen.
rank_dest Rango del proceso destino.

Descripción

Esta función devuelve el rango correcto para un desplazamiento que puede incluirse directamente como argumento de MPI_Send, MPI_Recv, etc. Para realizar el desplazamiento, se especifica en el argumento direction la dimensión en la que se debe hacer el desplazamiento (un valor comprendido entre 0 y ndims-1).
El desplazamiento disp es el número, positivo o negativo, del desplazamiento. La rutina devuelve dos resultados: rank_source y rank_dest. En el caso de que las coordenadas estén fuera de la malla se devuelve MPI_PROC_NULL.

ejemplo Direction = 0; disp = 2
ejemplo Direction = 1; disp = -1

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_create
MPI_Cart_rank
MPI_Cart_coords

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

Valid HTML 4.01 Transitional