-
Notifications
You must be signed in to change notification settings - Fork 0
/
mpi_solved7.c
35 lines (27 loc) · 884 Bytes
/
mpi_solved7.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/******************************************************************************
* FILE: mpi_bug7.c
* DESCRIPTION:
* This program hangs.
* AUTHOER: Blaise Barney
* LAST REVISED: 01/24/09
******************************************************************************/
#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
int numtasks, taskid, len, buffer, root, count;
char hostname[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &numtasks);
MPI_Comm_rank(MPI_COMM_WORLD,&taskid);
MPI_Get_processor_name(hostname, &len);
printf ("Task %d on %s starting...\n", taskid, hostname);
buffer = 23;
root = 0;
count = taskid;
if (taskid == root)
printf("Root: Number of MPI tasks is: %d\n",numtasks);
MPI_Bcast(&buffer, 1, MPI_INT, root, MPI_COMM_WORLD);
MPI_Finalize();
}