[Top][All Lists]

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

[Getfem-users] GetFEM and MPI

From: Torquil Macdonald Sørensen
Subject: [Getfem-users] GetFEM and MPI
Date: Thu, 19 Nov 2015 15:45:12 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.3.0


I'm using an MPI-enabled GetFEM, and I have two questions. I have read

Partitioning of the mesh seems to work fine on my system.

Q1: I've been trying to use getfem::interpolation_function. In the
reference documentation it says: "with the parallized version
(GETFEM_PARA_LEVEL >= 2) the resulting vector V is distributed". So
after running getfem::interpolation_function, my vector v is different
on each mpi_rank, as expected. Each rank has zeroes in V for DOFs that
are not in the corresponding MPI mesh region. How do I then collect the
vector components into a vector that is common for all MPI ranks, or at
least gather them to rank 0? Is there a functon for this in GetFEM, or
must I manually loop through the MPI region and MPI_Send the vector
components to rank 0 and/or the other MPI ranks? This is OK, but I'm
just wondering if there is a built-in function in GetFEM already which I
haven't noticed.

Q2: GetFEM doesn't seem to choose a DOF ordering so that a given MPI
rank will have a continuous range of DOF indices associated to it. I
would like to pass assembled matrices to PETSc, but PETSc relies on each
MPI rank being associated with a continuous range of row numbers. Is
there a simple way to achieve this automatically in GetFEM?

Best regards and thanks,
Torquil Sørensen

reply via email to

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