MPI_Scatter - enviando columnas de matriz 2D
Quiero enviar columnas de la matriz 2D, cada una para separar el proceso. Ahora tengo una matriz 2D completa y estoy atascado con MPI_Scatter. ¿Cómo enviar columnas enteras como un campo?
Gracia
editar
Tengo matriz - flota a [100] [101]
y he intentado enviar una matriz por:
float send;
MPI_Scatter ((void *)a, n, MPI_FLOAT,(void *)&send , 1, MPI_INT,0, MPI_COMM_WORLD);
Edit2:
He hecho un nuevo type_vector:
MPI_Datatype newtype;
MPI_Type_vector(n, /* # column elements */
1, /* 1 column only */
n+1, /* skip n+1 elements */
MPI_FLOAT, /* elements are float */
&newtype); /* MPI derived datatype */
MPI_Type_commit(&newtype);
y ahora estoy tratando de enviarlo a mis otros procesos. La matriz está llena de flotadores, mi matriz es n x n + 1, para la prueba es n = 5, por lo que es la matriz 5 x 6. ¿Qué llamada de dispersión estaría funcionando y qué enfoque debería tomar del lado de otros procesos? Quiero decir, ¿cómo obtener datos, que se envían por dispersión?