Sorry there was a typo in my example. It should have been

BLAS.gemm!('N', 'N', 1.0, A[:,idx], B[idx,idx], 1.0, C[:,idx]);

for the dimensions to work out.

The gemm! command works fine, is happy with the dimensions, and produces 
the correct update. As far as I can tell,

C1 = C[:,idx];
BLAS.gemm!('N', 'N', 1.0, A[:,idx], B[:,idx], 1.0, C1);

does what it's supposed to do, it just doesn't update C (which is awkward 
for a ! function, though I realize there's something else going on here).


On Sunday, March 29, 2015 at 5:56:27 PM UTC-4, Andreas Noack wrote:
>
> I think that you could use sub(A,:,2:2:4) for BLAS, but not sub(A,:,[2,4]) 
> because the indexing has to be with ranges for BLAS to be able to extract 
> the right elements of the matrix.
>
> 2015-03-29 17:34 GMT-04:00 Dominique Orban <[email protected] 
> <javascript:>>:
>
>> Sorry if this is another [:] kind of question, but I can't seem to find 
>> the right syntax to call BLAS.gemm! on part of an array. The piece of code
>>
>> julia> n = 10; m = 5; idx = [2, 4];
>> julia> C = rand(n, m); A = rand(n, m); B = rand(m, m);
>> julia> BLAS.gemm!('N', 'N', 1.0, A[:,idx], B[:,idx], 1.0, C[:,idx]);
>>
>> won't modify C. I'm simply trying to do
>>
>> C[:,idx] += A[:,idx] * B[:,idx];
>>
>> What's the right syntax here?
>>
>> It seems ArrayViews.jl might be the way to go, but it doesn't let me do 
>> view(A, :, idx).
>>
>> Thanks!
>>
>
>

Reply via email to