Petsc and Slepc with multiple process groups

Lisandro Dalcin dalcinl at gmail.com
Wed Sep 17 19:05:31 CDT 2008


A long as you create your SLEPc objects with the appropriate
communicator (ie. the one obtained with MPI_Comm_split), then all
should just work. Of course, you will have to make appropriate MPI
calls to 'transfer' data from your N group to the many M groups, and
the other way to collect results.


On Wed, Sep 17, 2008 at 8:25 PM, Yujie <recrusader at gmail.com> wrote:
> You are right :). I am thinking the whole framwork for my codes. thank you,
> Lisandro. In Step 3, there are different M slepc-based process groups, which
> should mean M communication domain for Petsc and Slepc (I have created a
> communication domain for them) is it ok? thanks again.
>
> Regards,
>
> Yujie
>
> On Wed, Sep 17, 2008 at 4:08 PM, Lisandro Dalcin <dalcinl at gmail.com> wrote:
>>
>> 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 gmail.com> 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
>>
>
>



-- 
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