[petsc-users] Using PetscBarrier or MPI_barrier in Fortran 90
    Koki Imada 
    koki.imada at york.ac.uk
       
    Fri Aug 10 07:57:39 CDT 2012
    
    
  
Hello,
I'm fairly new to PETSc/MPI programming, and I'm stuck with the use of 
barriers. I have a code of the following form:
0. Initialise PETSc...
1. Processor 1 (or the "root") reports to user (using "print" statement).
2. "Root" does some work, while all other processors do nothing.
3. "Root" allocates array "A".
4. All processors does some work on array "A".
5. "Root" deallocates array "A".
6. PETSc is finalised.
In order for this to work, I would like to put barriers between steps 
3&4, and steps 4&5, and also between steps 2&3 (optional).
Simply putting "call MPI_barrier(MPI_comm_world,ierr)" between the steps 
doesn't do anything and I know this doesn't work due to the lack of 
communication between the processors (or otherwise), but I have never 
been able to find the "correct" way to implement the barrier...
If somebody could show me how to correctly implement the barrier (either 
MPI or PETSc) between the steps as described above, I will be most grateful.
Best Regards,
Koki
    
    
More information about the petsc-users
mailing list