Petsc and Slepc with multiple process groups

Lisandro Dalcin dalcinl at
Wed Sep 17 18:08:32 CDT 2008

I bet you have not even tried to actually implent and run this :-).

This should work.  If not, I would consider that a bug. Let us know of
any problem you have.

On Wed, Sep 17, 2008 at 7:59 PM, Yujie <recrusader at> wrote:
> Hi, Petsc Developer:
> Currently, I am using Slepc for my application. It is based on Petsc.
> Assuming I have a cluster with N nodes.
> My codes are like
> main()
> {
> step 1: Initialize Petsc and Slepc;
> step 2: Use Petsc; (use all N nodes in one process group)
> step 3: Use Slepc; (N nodes is divided into M process groups. these groups
> are indepedent. However, they need to communicate with each other)
> step 4: Use Petsc; (use all N nodes in one process group)
> }
> My method is:
> when using Slepc, MPI_Comm_split() is used to divide N nodes into M process
> groups which means to generate M communication domains. Then,
> MPI_Intercomm_create() creates inter-group communication domain to process
> the communication between different M process groups.
> I don't know whether this method is ok regarding Petsc and Slepc. Because
> Slepc is developed based on Petsc. In Step 1, Petsc and Slepc is initialized
> with all N nodes in a communication domain. Petsc in Step 2 uses this
> communication domain. However, in Step 3, I need to divide all N nodes and
> generate M communication domains. I don't know how Petsc and Slepc can
> process this change? If the method doesn't work, could you give me some
> advice? thanks a lot.
> Regards,
> Yujie

Lisandro Dalcín
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

More information about the petsc-users mailing list