Hey everybody,

I'm a Julia beginner slowly transitioning from Matlab to Julia (0.4 RC2 on 
Win 7 64bit) and I haven't been able to figure out the following problem. 
Profiling my code I have received the following message for a line of my 
code that multiplies three matrices D=A*B*C:

++++

839  ...on\run_bbeg_check.jl; vfi_smart; line: 284
     5   cartesian.jl; _unsafe_batchsetindex!; line: 34
     4   multidimensional.jl; _unsafe_batchsetindex!; line: 322
      4 operators.jl; setindex_shape_check; line: 256
     11  multidimensional.jl; _unsafe_batchsetindex!; line: 328
     5   multidimensional.jl; _unsafe_batchsetindex!; line: 329
     15  multidimensional.jl; _unsafe_getindex; line: 193
     42  multidimensional.jl; _unsafe_getindex; line: 195
     757 operators.jl; *; line: 103
      1   linalg/matmul.jl; gemm_wrapper!; line: 321
      1   linalg/matmul.jl; gemm_wrapper!; line: 327
       1 abstractarray.jl; stride; line: 80
      741 linalg/matmul.jl; gemm_wrapper!; line: 328
       741 linalg/blas.jl; gemm!; line: 632

++++

My code runs and I also get the same results as in Matlab but I would still 
like to know whether I do something wrong or inefficient. 

Unfortunately I could not exactly reproduce the message with a simplified 
example code but the following code at least produces the 
"_unsafe_getindex" message:

function matmult_test()
    A=rand(20,20,5)
    B=rand(20,700,5)
    C=eye(700,700)
    D=zeros(20,700,5);
    for ii=1:5
        D[:,:,ii] = A[:,:,ii]*B[:,:,ii]*C;
    end
end
matmult_test()
Profile.clear()
@profile matmult_test()
Profile.print()

Thanks for your help,

Benjamin

Reply via email to