Parallel ISCreateGeneral()

Tim Stitt timothy.stitt at ichec.ie
Sun Nov 18 12:21:37 CST 2007


Oh...ok I am now officially confused.

I have developed a serial code for getting the first k rows of an 
inverted sparse matrix..thanks to PETSC users/developers help this past 
week.

In that code I was calling MatLUFactorSymbolic() and 
MatLUFactorNumeric() to factor the sparse matrix and then calling 
MatSolve for each of the first k columns in the identity matrix as the 
RHS. I then varied the matrix type from the command line to test MUMPS, 
SUPERLU etc. for the best performance.

Now I just want to translate the code into a parallel version...so I now 
assemble rows in a distributed fashion and now working on translating 
the MatLUFactorSymbolic() and MatLUFactorNumeric() calls which require 
index sets...hence my original question.

Are you saying that I now shouldn't be calling those routines?

Tim.

Matthew Knepley wrote:
> On Nov 18, 2007 11:52 AM, Tim Stitt <timothy.stitt at ichec.ie> wrote:
>   
>> Matt,
>>
>> It is in setup for MatLUFactorSymbolic() and MatLUFactorNumeric() calls
>> which require index sets. I have distributed my rows across the
>> processes and now just a bit confused about the arguments to the
>> ISCreateGeneral() routine to set up the IS sets used by the Factor
>> routines in parallel.
>>
>> So my basic question is what in general is the length and integers that
>> get passed to ISCreateGeneral() when doing this type of calculation in
>> parallel? Are they local index values (0..#rows on process-1) or do they
>> refer to the distributed indices of the global matrix?
>>     
>
> To be consistent, these would be local sizes and global numberings. However,
> I am not sure why you would be doing this. I do not believe any of the parallel
> LU packages accept an ordering from the user (they calculate their own),
> and I would really only use them from a KSP (or PC at the least).
>
>   Matt
>
>   
>> Tim.
>>
>>
>> Matthew Knepley wrote:
>>     
>>> On Nov 18, 2007 11:34 AM, Tim Stitt <timothy.stitt at ichec.ie> wrote:
>>>
>>>       
>>>> OK..so I should be using the aggregate length returned by
>>>> MatGetOwnershipRange() routine?
>>>>
>>>>         
>>> If you are using it to permute a Mat, yes.
>>>
>>>   Matt
>>>
>>>
>>>       
>>>> Thanks Matt for you help.
>>>>
>>>>
>>>> Matthew Knepley wrote:
>>>>
>>>>         
>>>>> IS are not really parallel, so all the lengths, etc. only refer to local things.
>>>>>
>>>>>   Matt
>>>>>
>>>>> On Nov 18, 2007 11:22 AM, Tim Stitt <timothy.stitt at ichec.ie> wrote:
>>>>>
>>>>>
>>>>>           
>>>>>> Hi all,
>>>>>>
>>>>>> Just wanted to know if the "the length of the index set" for a call to
>>>>>> ISCreateGeneral() in a parallel code, is a global length, or the length
>>>>>> of the local elements on each process?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Tim.
>>>>>>
>>>>>> --
>>>>>> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie>
>>>>>> HPC Application Consultant - ICHEC (www.ichec.ie)
>>>>>>
>>>>>> Dublin Institute for Advanced Studies
>>>>>> 5 Merrion Square - Dublin 2 - Ireland
>>>>>>
>>>>>> +353-1-6621333 (tel) / +353-1-6621477 (fax)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>
>>>>>           
>>>> --
>>>> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie>
>>>> HPC Application Consultant - ICHEC (www.ichec.ie)
>>>>
>>>> Dublin Institute for Advanced Studies
>>>> 5 Merrion Square - Dublin 2 - Ireland
>>>>
>>>> +353-1-6621333 (tel) / +353-1-6621477 (fax)
>>>>
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>> --
>> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie>
>> HPC Application Consultant - ICHEC (www.ichec.ie)
>>
>> Dublin Institute for Advanced Studies
>> 5 Merrion Square - Dublin 2 - Ireland
>>
>> +353-1-6621333 (tel) / +353-1-6621477 (fax)
>>
>>
>>     
>
>
>
>   


-- 
Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie>
HPC Application Consultant - ICHEC (www.ichec.ie)

Dublin Institute for Advanced Studies
5 Merrion Square - Dublin 2 - Ireland

+353-1-6621333 (tel) / +353-1-6621477 (fax)




More information about the petsc-users mailing list