Как использовать GNU Octave с Intel MKL из репозиториев Ubuntu для более быстрых научных вычислений?

Как использовать GNU Octave с Intel MKL из репозиториев Ubuntu для более быстрых научных вычислений?

Библиотека Intel Math Kernel Library — это библиотека BLAS, доступная вРепозитории Ubuntuначиная с Ubuntu 19.10 и, как сообщается, дает гораздо более быстрые результаты.

Как заставить GNU Octave использовать Intel MKL, установленный из репозиториев?

решение1

Вам необходимо установить Octave с помощью

sudo apt-get install octave

а затем установите полный пакет разработки Intel MKL с помощью

sudo apt-get install libmkl-full-dev

во время установки необходимо выбрать Intel MKL в качестве поставщика математических библиотек по умолчанию.

Важный:
Избегатьошибка между Octave и MKLследует добавить следующее объявление переменной к ~/.bashrcor ~/.profile:

export MKL_THREADING_LAYER=gnu

а затем запустите Octave.

Как отмечено в недавних комментариях к ошибке, Octave закрывается с ошибкой сегментации при __run_test_suite__запуске, даже после применения этого обходного пути. На данный момент этоне рекомендуетсяиспользовать версию Octave из репозиториев Ubuntu вместе с MKL.


Для подтверждения использования MKL можно посмотреть htopсписок библиотек ниже ( F4,octave, выбиратьoctave-gui, L, F4,mkl):

перечислены библиотеки mkl


Тест производительности с использованием кода ниже

c = sin((1:500)' + (1:500).^2);

tic;
g = eig(c);
toc
m = max(real(g))
assert (m, 16.914886, 1e-6)

Используя Intel i7-3537U:

  • по умолчанию - 0,46 с;
  • МКЛ - 0,14 с.

Связанный контент