octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #44898] octave uses a bunch of system CPU over


From: Rik
Subject: [Octave-bug-tracker] [bug #44898] octave uses a bunch of system CPU overhead
Date: Thu, 23 Apr 2015 00:35:04 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Follow-up Comment #3, bug #44898 (project octave):

Adding Mike Miller to the CC list since he has worked with OMP and
OMP_NUM_THREADS and this is superficially related.

Quoting from the OpenBLAS wiki:


    How can I use OpenBLAS in multi-threaded applications?

If your application is already multi-threaded, it will conflict with OpenBLAS
multi-threading. Thus, you must set OpenBLAS to use single thread as
following.

 1   export OPENBLAS_NUM_THREADS=1 in the environment variables. Or
 2  Call openblas_set_num_threads(1) in the application on runtime. Or
 3  Build OpenBLAS single thread version, e.g. make USE_THREAD=0

If the application is parallelized by OpenMP, please build OpenBLAS with
USE_OPENMP=1


Before version 3.8.0, Octave ran a single thread.  Now it runs two threads: 1)
for the Qt GUI, and 2) for the main interpreter.  This is probably why there
is a problem now.

Octave requires that a BLAS library be installed, but is not compiled
specifically for any library.  This suggests that option number two isn't the
right approach because we would need to have multiple configure options for
OpenBLAS, Intel MKVS BLAS, etc.  Also, many Linux distributions make it
possible to quickly install a different BLAS version such as OpenBLAS, ATLAS,
reference BLAS.  If Octave were compiled against a specific library then they
would also need to maintain multiple Octave packages for each combination.

Option 3 might be a possibility, but it would mean getting agreement from
packaging managers at the various distributions like Debian to always compile
with USE_THREAD=0.

It seems like Option 1 may be the best because it is configurable by the user
and can therfore adapt to the local computing environment as needed.


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?44898>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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