← Back to team overview

dolfin team mailing list archive

Re: [Bug 706909] [NEW] [python] matrix multiplication fails in parallel

 


On 24/01/11 17:45, Johan Hake wrote:
> On Monday January 24 2011 09:43:45 Johan Hake wrote:
>> On Monday January 24 2011 09:33:12 Garth N. Wells wrote:
>>> On 24/01/11 17:17, Johan Hake wrote:
>>>> Isn't there a way to initialize a paralell vector with arbitrary
>>>> distribution pattern?
>>>>
>>>> There is a way to general a local range from a given entity size using
>>>> MPI.local_range. One should be able to generate a distributed Vector
>>>> with this information.
>>>
>>> This isn't guaranteed to work since using MPI.local_range may produce a
>>> vector with a layout that is inconsistent with the matrix layout.
>>
>> Ok.
>>
>>> A Vector could be created using the local range data from the Matrix.
>>
>> Is this possible to do using the GenericMatrix inteface?
> 
> GenericVector that should be.
> 

Yes, via

    GenericVector::resize(std::pair<uint, uint> range)

Garth

> Johan
>  
>> Johan
>>
>>> Garth
>>>
>>>> Johan
>>>>
>>>> On Monday January 24 2011 05:17:21 Joachim Haga wrote:
>>>>> Public bug reported:
>>>>>
>>>>> The python code for __mul__() assumes an empty vector suitable for
>>>>>
>>>>> mult() can be created from just the dimensions of the matrix:
>>>>>     if type(other) == Vector:
>>>>>         ret = Vector(self.size(0))
>>>>>
>>>>> This is not true in parallel. And it won't help to copy the input
>>>>> vector, as that only works for square matrices.
>>>>>
>>>>> How to create a vector which is compatible with a given matrix at this
>>>>> point (only the matrix available, not the sparsity pattern)? Would it
>>>>> perhaps be acceptable to add methods create_rhs_vector(),
>>>>> create_lhs_vector() to GenericMatrix?
>>>>>
>>>>> ** Affects: dolfin
>>>>>
>>>>>      Importance: Undecided
>>>>>      
>>>>>          Status: New
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~dolfin
>>>> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~dolfin
>>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~dolfin
>>> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~dolfin
>>> More help   : https://help.launchpad.net/ListHelp




Follow ups

References