
Intel Math Kernel Library ist eine BLAS-Bibliothek, die verfügbar ist inUbuntu-Repositorysab Ubuntu 19.10 und soll deutlich schnellere Ergebnisse liefern.
Wie kann GNU Octave dazu gebracht werden, aus den Repositories installiertes Intel MKL zu verwenden?
Antwort1
Sie müssen Octave installieren mit
sudo apt-get install octave
und installieren Sie dann das vollständige Intel MKL-Entwicklungspaket mit
sudo apt-get install libmkl-full-dev
Während der Installation müssen Sie Intel MKL als Standardanbieter für mathematische Bibliotheken auswählen.
Wichtig:
VermeidenFehler zwischen Octave und MKL~/.bashrc
Man sollte dem oder folgende Variablendeklaration hinzufügen ~/.profile
:
export MKL_THREADING_LAYER=gnu
und starten Sie dann Octave.
Wie in den letzten Kommentaren zum Bug erwähnt, wird Octave mit einem Segmentierungsfehler geschlossen, wenn __run_test_suite__
es ausgeführt wird, selbst nach Anwendung dieser Problemumgehung. Im Moment ist esnicht empfohlenum die Octave-Version aus den Ubuntu-Repositories neben MKL zu verwenden.
Um zu bestätigen, dass MKL verwendet wird, können Sie htop
die Bibliotheksliste unten einsehen ( F4,octave
, wählenoctave-gui
, L, F4,mkl
):
Benchmarken Sie mit dem unten stehenden Code
c = sin((1:500)' + (1:500).^2);
tic;
g = eig(c);
toc
m = max(real(g))
assert (m, 16.914886, 1e-6)
Verwendung von Intel i7-3537U:
- Standard - 0,46 s;
- MKL – 0,14 s.