Wie verwende ich GNU Octave mit Intel MKL aus Ubuntu-Repositories für schnellere wissenschaftliche Berechnungen?

Wie verwende ich GNU Octave mit Intel MKL aus Ubuntu-Repositories für schnellere wissenschaftliche Berechnungen?

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~/.bashrcMan 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 htopdie Bibliotheksliste unten einsehen ( F4,octave, wählenoctave-gui, L, F4,mkl):

mkl-Bibliotheken sind aufgelistet


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.

verwandte Informationen