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`
With MKL in Ubuntu 20.04, I get random numbers of order 10^5 - 10^6, which change every time the code is run.
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`
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 archive. ubuntu. com/ubuntu focal/universe amd64 Packages dpkg/status
octave:
Installed: 5.2.0-1
Candidate: 5.2.0-1
Version table:
*** 5.2.0-1 500
500 http://
100 /var/lib/
apt-cache policy intel-mkl archive. ubuntu. com/ubuntu focal/multiverse amd64 Packages dpkg/status
intel-mkl:
Installed: 2020.0.166-1
Candidate: 2020.0.166-1
Version table:
*** 2020.0.166-1 500
500 http://
100 /var/lib/