reordering does not work for ICC?

Barry Smith bsmith at mcs.anl.gov
Tue Nov 6 10:29:29 CST 2007


    There is no mechanism to release that extra memory. Thus it is  
important to preallocate
well for large problems.

    Barry
On Nov 6, 2007, at 9:29 AM, Zhifeng Sheng wrote:

> Barry Smith wrote:
>
>>
>> On Nov 6, 2007, at 3:29 AM, Zhifeng Sheng wrote:
>>
>>> Dear all
>>>
>>> I tried to reorder my the preconditioner with different reordering  
>>> schema.
>>>
>>> All worked well for ILU, but does not make any difference on ICC.  
>>> It seems that the reordering schema does not work for ICC at all....
>>>
>>> Is it supposed to be like this?
>>
>>
>> Yes, with sbaij only the upper triangular part of the matrix is  
>> stored; hence reordering doesn't make sense
>> since the values needed in the reordered form are not available.  
>> You can use the SeqAIJ format if you want
>> to do reorderings with the ICC.
>>
>> Barry
>>
>>>
>>>
>>> PS: I have a symmetric matrix and I would like to save some  
>>> memory. I used SBAIJ with block=1, but some told me it's not  
>>> efficient ...
>>
>>
>> SBAIJ with block=1 is just as efficient as AIJ! The is seperate  
>> code for each block size.
>>
>> Barry
>>
>>>
>>> So... what can I do to save some memory on matrix and  
>>> preconditioner?
>>>
>>>
>>> Thank you
>>> Best regards
>>> Zhifeng Sheng
>>>
>>
> Thank you for your answer.
>
> Could you please tell me if I can first assemble the matrix with a  
> sufficiently large nonzero number per row and then release the  
> redundent memory after the assembly is done?
>
> and what does MatCompress do? I tried it on my matrix, nothing  
> happened ...
>
> Thank you
> Best regards
>




More information about the petsc-users mailing list