- for (k=0; k<20; k++) {
- /* We use a simple linear form for the number of tests to
- reduce the impact of the granularity of the timer */
- reps = 50-k;
- repsleft = reps;
- /* Make sure that both processes are ready to start */
- MPI_Sendrecv( MPI_BOTTOM, 0, MPI_BYTE, partner, 0,
- MPI_BOTTOM, 0, MPI_BYTE, partner, 0, MPI_COMM_WORLD,
- MPI_STATUS_IGNORE );
- t1 = MPI_Wtime();
- while (repsleft--) {
- if (wrank & 0x1) {
- MPI_Send( sbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD );
- MPI_Recv( rbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD,
- MPI_STATUS_IGNORE );
- }
- else {
- MPI_Recv( rbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD,
- MPI_STATUS_IGNORE );
- MPI_Send( sbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD );
- }
- }
- t1 = MPI_Wtime() - t1;
- times[2][k] = t1 / reps;
- if (wrank == 0) {
- t1 = t1 / reps;
- if (t1 > 0) {
- t1 = t1 * 1.e6;
- if (verbose)
- printf( "%d\t%g\t%g\n", len, t1, len/t1 );
- }
- else {
- t1 = t1 * 1.e6;
- if (verbose)
- printf( "%d\t%g\tINF\n", len, t1 );
- }
- if (verbose)
- fflush( stdout );
- }
+ for (k = 0; k < 20; k++) {
+ /* We use a simple linear form for the number of tests to
+ * reduce the impact of the granularity of the timer */
+ reps = 50 - k;
+ repsleft = reps;
+ /* Make sure that both processes are ready to start */
+ MPI_Sendrecv(MPI_BOTTOM, 0, MPI_BYTE, partner, 0,
+ MPI_BOTTOM, 0, MPI_BYTE, partner, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+ t1 = MPI_Wtime();
+ while (repsleft--) {
+ if (wrank & 0x1) {
+ MPI_Send(sbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD);
+ MPI_Recv(rbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+ }
+ else {
+ MPI_Recv(rbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+ MPI_Send(sbuf, len, MPI_BYTE, partner, k, MPI_COMM_WORLD);
+ }
+ }
+ t1 = MPI_Wtime() - t1;
+ times[2][k] = t1 / reps;
+ if (wrank == 0) {
+ t1 = t1 / reps;
+ if (t1 > 0) {
+ t1 = t1 * 1.e6;
+ if (verbose)
+ printf("%d\t%g\t%g\n", len, t1, len / t1);
+ }
+ else {
+ t1 = t1 * 1.e6;
+ if (verbose)
+ printf("%d\t%g\tINF\n", len, t1);
+ }
+ if (verbose)
+ fflush(stdout);
+ }