octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BLAS Level 1 operations in Octave


From: Marco Caliari
Subject: BLAS Level 1 operations in Octave
Date: Thu, 25 Aug 2016 15:27:58 +0200 (CEST)
User-agent: Alpine 2.10 (DEB 1266 2009-07-14)

Dear maintainers,

my octave-4.1.0+ is linked to multithreaded ATLAS libraries. They work as expected: in particular, a matrix-matrix product involves all my four cores (top shows %CPU at about 390). But, if I run the following script

a = rand(200000,1);
b = rand(200000,1);
tic
for i = 1:100000
    c = a+b; % version 1
%    b = a+b; % version 2
%    b += a; % version 3
end
toc

my %CPU is stuck to 100, (while Matlab, linked to Intel MKL, uses again all the four cores). Versions 2 and 3 are a *axpy (BLAS Level 1) operation, while version 1 is a *copy followed by a *axpy operation. Anyway, they should be multithread in ATLAS, so I presume Octave does not use them. In fact, a

grep -r --include "*" AXPY

in the sources shows something only is some cruft fortran files. At the moment, I cannot check the behavior of OpenBLAS libraries.

Since "it might be a worthy goal, after the 4.2 release, to look at improving Octave's performance", is this a possible topic to be investigated?

Regards,

Marco



reply via email to

[Prev in Thread] Current Thread [Next in Thread]