That's what A_mul_B! does.
On Tue, Oct 18, 2016 at 1:45 PM, Jérémy Béjanin <[email protected]>
wrote:
> I think this is something I might have read about in the past, but are
> there plans to make y = a*b use an already allocated y?
>
> On Tuesday, October 18, 2016 at 12:38:00 PM UTC-4, Stefan Karpinski wrote:
>>
>> A_mul_B!(Y, A, B) -> Y
>>
>> Calculates the matrix-matrix or matrix-vector product A⋅B and stores
>> the result in Y, overwriting the
>> existing value of Y. Note that Y must not be aliased with either A or B.
>>
>> julia> A=[1.0 2.0; 3.0 4.0]; B=[1.0 1.0; 1.0 1.0]; Y = similar(B);
>> A_mul_B!(Y, A, B);
>>
>> julia> Y
>> 2×2 Array{Float64,2}:
>> 3.0 3.0
>> 7.0 7.0
>>
>> On Tue, Oct 18, 2016 at 10:27 AM, <[email protected]> wrote:
>>
>>> hi guys
>>> is there a way to reduce allocated memory in matrix multiplications?
>>>
>>> for example this code blew in my machine gives :
>>>
>>> function test4(n)
>>> a = rand(n,n)
>>> for i = 1:100
>>> a*a
>>> end
>>> end
>>>
>>>
>>> ---------------------- answer ----------------------
>>> test4(1)
>>> # force compiling
>>>
>>> @time test4(1000)
>>> 16.589743 seconds (433 allocations: 770.587 MB, 0.68% gc time)
>>>
>>
>>