Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
2276 Discussions

Using MPI IO to read a Finite Element Mesh

Amar_K_1
Beginner
645 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