751 |
|
|
752 |
|
int nproc; |
753 |
|
MPI_Comm_size( MPI_COMM_WORLD, &nproc); |
754 |
– |
// int nproc = MPI::COMM_WORLD.Get_size(); |
754 |
|
|
755 |
|
// we need arrays to hold the counts and displacement vectors for |
756 |
|
// all processors |
760 |
|
// fill the counts array |
761 |
|
MPI_Allgather(&count_local, 1, MPI_INT, &counts[0], |
762 |
|
1, MPI_INT, MPI_COMM_WORLD); |
764 |
– |
// MPI::COMM_WORLD.Allgather(&count_local, 1, MPI::INT, &counts[0], |
765 |
– |
// 1, MPI::INT); |
763 |
|
|
764 |
|
// use the processor counts to compute the displacement array |
765 |
|
disps[0] = 0; |
776 |
|
MPI_Allgatherv(&foundTypes[0], count_local, MPI_INT, |
777 |
|
&ftGlobal[0], &counts[0], &disps[0], |
778 |
|
MPI_INT, MPI_COMM_WORLD); |
782 |
– |
// MPI::COMM_WORLD.Allgatherv(&foundTypes[0], count_local, MPI::INT, |
783 |
– |
// &ftGlobal[0], &counts[0], &disps[0], |
784 |
– |
// MPI::INT); |
779 |
|
|
780 |
|
vector<int>::iterator j; |
781 |
|
|