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?

Respuestas a la pregunta(3)

Su respuesta a la pregunta