Public bug reported:

Octave gives wrong results when manipulating large matrices, when the
package `intel-mkl` is installed, and BLAS, LAPACK are configured with
`intel-mkl` (from default ubuntu repositories). With MKL, Octave seems
to have a 2x speedup when diagonalize certain matrices, but the results
are totally wrong (when the matrix is large, say 1000x1000).

Code:
```
for a = 1:500
 for b = 1:500
  c(a,b) = sin(a + b^2);
 endfor
endfor

g = eig(c);
max(real(g))
```
The correct result is `ans =  16.915` (I checked this before installing 
intel-mkl, and also in Ubuntu 18.04 in the same computer, where intel-mkl was 
not installed)
With MKL in Ubuntu 20.04, I get random numbers of order 10^5 - 10^6, which 
change every time the code is run.

lsb_release -rd
Description:    Ubuntu 20.04 LTS
Release:        20.04
(It is Xubuntu 20.04)

apt-cache policy octave
octave:
  Installed: 5.2.0-1
  Candidate: 5.2.0-1
  Version table:
 *** 5.2.0-1 500
        500 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status

apt-cache policy intel-mkl
intel-mkl:
  Installed: 2020.0.166-1
  Candidate: 2020.0.166-1
  Version table:
 *** 2020.0.166-1 500
        500 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages
        100 /var/lib/dpkg/status

** Affects: octave (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: focal

** Attachment added: "Code which gives wrong result with MKL"
   https://bugs.launchpad.net/bugs/1890984/+attachment/5400280/+files/testmkl.m

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1890984

Title:
  Octave gives wrong results when diagonalizing large matrices with MKL

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/octave/+bug/1890984/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to