<div dir="ltr"><p>Hi, Petsc Developer:<br></p><p>Currently, I am using Slepc for my application. It is based on Petsc. </p><p>Assuming I have a cluster with N nodes.</p><p>My codes are like</p><p>main()</p><p>{</p><p>step 1: Initialize Petsc and Slepc;</p>
<p>step 2: Use Petsc; (use all N nodes in one process group)</p><p>step 3: Use Slepc; (N nodes is divided into M process groups. these groups are indepedent. However, they need to communicate with each other)</p><p>step 4: Use Petsc; (use all N nodes in one process group)</p>
<p>}</p><p>My method is:</p><p>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.&nbsp;</p>
<p>I don&#39;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&#39;t know how Petsc and Slepc can process this change? If the method doesn&#39;t work, could you give me some advice? thanks a lot.</p>
<p>Regards,</p><p>Yujie</p></div>