Petsc and Slepc with multiple process groups

Yujie recrusader at
Wed Sep 17 17:59:55 CDT 2008

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



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.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list