Eye RCS 51 wrote:
> Hi,
>
> In an effort to make a Qt gui using MPI, I have the following:
>
> 1. Gui started in master node.
>
> 2. In Gui, through a pushbutton, a global variable x is assigned some
> value; let say, x=1000;
>
> 3. I want this value to be know to all nodes. So I used broadcast in
> the function assigning it on the master node and all other nodes.
>
> 4. I printed values of x, which prints all 1000 in all nodes.
>
> 5. Now control has reached to MPI_Finalize in all nodes except master.
>
> Now If I want to reassign value of x using pushbutton in master node
> and again broadcast to and print in all nodes, can it be done??
Not with MPI if MPI_Finalize has been called.
> I mean, can I have an MPI function which through GUI is called many
> times and assigns and prints WHILE program is running.
You can call an MPI function like MPI_Bcast many times. E.g.,
MPI_Init();
MPI_Comm_rank(...,&myrank);
while (...) {
if ( myrank == MASTER ) x = ...;
MPI_Bcast(&x,...);
}
MPI_Finalize();
There are many helpful MPI tutorials that can be found on the internet.
>
> OR simply can I have a print function which is printing noderank value
> in all nodes whenever pushbutton is pressed while program is running.
>
> command i used is "mpirun -np 3 ./a.out".
|