Como usar o GNU Octave com Intel MKL dos repositórios do Ubuntu, para cálculos científicos mais rápidos?

Como usar o GNU Octave com Intel MKL dos repositórios do Ubuntu, para cálculos científicos mais rápidos?

Intel Math Kernel Library é uma biblioteca BLAS, que está disponível emRepositórios Ubuntudo Ubuntu 19.10 em diante e fornece resultados muito mais rápidos.

Como fazer o GNU Octave usar o Intel MKL instalado nos repositórios?

Responder1

Você tem que instalar o Octave com

sudo apt-get install octave

e, em seguida, instale o pacote de desenvolvimento Intel MKL completo com

sudo apt-get install libmkl-full-dev

durante a instalação, você deve selecionar Intel MKL como provedor de bibliotecas matemáticas padrão.

Importante:
Evitarbug entre Octave e MKLdeve-se adicionar a seguinte declaração de variável ao ~/.bashrcou ~/.profile:

export MKL_THREADING_LAYER=gnu

e então inicie o Octave.

Conforme observado nos comentários recentes do bug, o Octave fecha com falha de segmentação quando __run_test_suite__é executado, mesmo após aplicar esta solução alternativa. No momento énão recomendadopara usar a versão do Octave dos repositórios do Ubuntu junto com o MKL.


Para confirmar que MKL é usado, pode-se ver htopa lista de bibliotecas abaixo ( F4,octave, selecioneoctave-gui, L, F4,mkl):

bibliotecas mkl estão listadas


Compare usando o código abaixo

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

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

Usando Intel i7-3537U:

  • padrão - 0,46 s;
  • MKL - 0,14 s.

informação relacionada