help-octave
[Top][All Lists]
Advanced

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

Re: Octave, ATLAS, and Large Matricies


From: Dmitri A. Sergatskov
Subject: Re: Octave, ATLAS, and Large Matricies
Date: Mon, 11 Sep 2017 13:25:55 -0500



On Mon, Sep 11, 2017 at 12:26 PM, evansste <address@hidden> wrote:
I've been careful to vectorize my programs so that they'll be efficient.  My
computer has lots of RAM (1TB) and many cores (32), but when it comes to
matrix operations, performance is less than what I would expect.

Here's an example of a simple program.

A = rand(162000000,15)>0.5;
B = rand(162000000,15);
C = rand(162000000,15);
tic;
D = ~A&B~=0;
B(D) = B(D)+C(D);
toc;

When I run this program, the "tic/toc" section takes 85.2911 seconds.
Because these are all matrix operations, I expected this to run very
quickly.  However I later learned that Octave doesn't use multiple cores, by
default, and that compiling with ATLAS may allow Octave to use multiple
cores.  Am I correct to believe that compiling Octave with ATLAS would speed
up this program, or would multi-threading not help this situation?

I have no experience with multi-threaded programs.  Am I on the right track?
Would compiling, with ATLAS, improve performance in this scenario?

If anyone has any experience with an ATLAS/Octave installation, I'd love to
hear your thoughts on this.  Thanks for your time.


​I do not believe those particular operations involve blas/lapack library, so I do not
think using threaded atlas (or openblas) would help.
But you would see a lot of improvements on things like
a\b or a*b


​Dmitri.
--



reply via email to

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