Search code examples
linuxparallel-processingoctaveatlas

Why is ATLAS using just 1 core with Octave? (Linux Mint 17.2)


I have installed octave using:

sudo apt-get install octave

Then I installed ATLAS using:

sudo apt-get install libatlas3gf-base

I want to multiply two 10000 x 10000 matrices. Before installing ATLAS, this multiplication took more than 15 minutes. After installing ATLAS, the task was completed in 183 seconds. But while the computation is in progress using ATLAS, System Monitor shows that only one out of the 4 cores is being used. I want to utilize all the 4 cores for this computation since in future I'll deploy this system to a 20 core CPU.

Is there a way to use multiple cores for matrix multiplication using octave? Or is there a better alternative to octave (eg. Scilab) for this task (other than MATLAB)?

System Specifications:

  • Intel Core i5, 2.4GHz
  • 4GB RAM
  • OS: Linux Mint 17.2

Solution

  • Because that is how Atlas is designed / configured as the package! You could change that locally by installing Atlas from source, but that is non-trivial and risks missing the packaging integration.

    If you want multi-core LAPACK/BLAS, install the corresponding openblas packages (which are an open source continuation of the older GOTO BLAS). Mint will have these too.