Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2159 Discussions

Using MPI IO to read a Finite Element Mesh

Amar_K_1
Beginner
327 Views

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

0 Kudos
0 Replies
Reply