getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] Getfem and Metis


From: Torquil Macdonald Sørensen
Subject: Re: [Getfem-users] Getfem and Metis
Date: Mon, 18 Nov 2013 15:33:05 +0100

Ok, I shall take a look at the available MPI-related functions. Thanks for the pointer.

When I try the method mesh.get_mpi_region() in one of my simple test programs, or when I run tests/elastostatic.cc, with mpiexec -n N, for N>=2, I get error messages:

"Input Error: Incorrect ncuts."

E.g. I get it from this test program (from the line that calls get_mpi_region):

#include "getfem/getfem_mesh.h"
#include "getfem/getfem_regular_meshes.h"
#include "iostream"
int main()
{
    MPI_Init(0,0);
    getfem::mesh mesh;
    getfem::regular_mesh(mesh, "GT='GT_PK(2,1)'; NSUBDIV=[4,4]; ORG=[0,0]; SIZES=[1,1]; NOISED=0");
    std::cout << mesh.get_mpi_region() << std::endl;
    MPI_Finalize();
    return 0;
}

Running with mpiexec -n 1 is fine. The program then just outputs "ALL_CONVEXES".

My Metis is version 5.1.0. Something similar was discussed here:

http://glaros.dtc.umn.edu/gkhome/node/853

Maybe Getfem needs the older Metis 4?

- Torquil



On 18 November 2013 13:41, Yves Renard <address@hidden> wrote:

Dear Torquil,

With --enable-paralevel=2, metis is called to give a partition of each mesh.
The model bricks automatically make the assembly only on the part of the mesh corresponding to the process number.
This is done by a call to the following method of getfem_mesh:
mesh().intersect_with_mpi_region(rg)

But this does not affect the numbering of nodes. In particular, each process have a complete mesh.

Yves.





Le 18/11/2013 12:20, Torquil Macdonald Sørensen a écrit :
Hi!

Should I see a difference in the mesh node enumeration, after having compiled Getfem with --enable-paralevel=2 and Metis support, and my program with -DGETFEM_PARA_LEVEL=2 -DGMM_USES_MPI=1?

According to the documentation, GetFEM should then use Metis to "implicitly partition" the mesh.

Does that mean that the Metis based partitioning goes on behind the scenes and no changes would be seen in mesh.points() when switching between "mpiexec -n 1 ./prog" and "mpiexec -n 4 ./prog"

Best regards
Torquil Sørensen




_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users


-- 

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard

---------

_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users



reply via email to

[Prev in Thread] Current Thread [Next in Thread]