Hello Intel,
I intend to solve a Finite Element problem using intel MPI and PETSc. I have a conceptual problem with reading a mesh file in parallel with MPI IO.
My mesh structure is as follows (3 blocks):
!Block1: Connectivity data
1 10 11 12 13 !ElementNumber, Node1, Node2, Node3, Node4 <element 1 is connected to nodes 10, 11, 12 and 13>
2 14 15 16 17
.
.
.
**** **** **** ****
!Block2: Coordinate data
1 0.0 0.0 0.0 !Node1, x, y and z
2 0.0 0.0 1.0
.
.
.
**** **.** **.** **.**
!Block3: Boundary data
* * * * *
* * * * *
* * * * * .
.
.
.
* * * * *
The goal is to read this single file parallely in multiple processors. Parallelization type = MPI. No multithreading involved. I'll be using a Lustre parallel file system.
I understand the idea summarized in the figure below:
Unlike in the figure above I have a file which is different in structure (i.e. formatted with blocks of different size and datatypes) and I don't get how different blocks of data can be read in parallel. Should there be a synchronization cal like MPI_BARRIER, after every block is completed on all processors. Also, if there is a fortran example, I'll be really happy to have it. Any suggestions are welcome.
Many Thanks,
Amar