Ho un problema con la MPI_Gather.

Devo far ricevere al processo 0 il valore della variabile vikj di ogni processo e successivamente inserire questo valore in un vettore visibile solo al processo 0.

Ho provato a fare così:
codice:
MPI_Gather(&vikj, 1, MPI_INT, &peso, 1, MPI_INT, 0, MPI_COMM_WORLD); 
if (rank==0) B=insert(i,j,vikj,B,nverts);
dove peso è un vettore di size elementi, e size il numero di processi.

però non va, in peso non ho tutti i valori che vorrei trovare.

Come posso fare?