¿Cómo utilizar GNU Octave con Intel MKL desde los repositorios de Ubuntu para un cálculo científico más rápido?

¿Cómo utilizar GNU Octave con Intel MKL desde los repositorios de Ubuntu para un cálculo científico más rápido?

La biblioteca Intel Math Kernel es una biblioteca BLAS, que está disponible enrepositorios de ubuntudesde Ubuntu 19.10 en adelante, y se informa que brinda resultados mucho más rápidos.

¿Cómo hacer que GNU Octave use Intel MKL instalado desde los repositorios?

Respuesta1

Tienes que instalar Octave con

sudo apt-get install octave

y luego instale el paquete de desarrollo Intel MKL completo con

sudo apt-get install libmkl-full-dev

Durante la instalación, debe seleccionar Intel MKL como proveedor de bibliotecas matemáticas predeterminado.

Importante:
Para evitarerror entre Octave y MKLse debe agregar la siguiente declaración de variable a ~/.bashrcor ~/.profile:

export MKL_THREADING_LAYER=gnu

y luego inicie Octave.

Como se señaló en los comentarios recientes sobre el error, Octave se cierra con un error de segmentación cuando __run_test_suite__se ejecuta, incluso después de aplicar esta solución. Por el momento esno recomendadopara usar la versión de Octave de los repositorios de Ubuntu junto con MKL.


Para confirmar que se utiliza MKL, puede ver htopla lista de bibliotecas a continuación ( F4,octave, seleccionaroctave-gui, L, F4,mkl):

Se enumeran las bibliotecas mkl.


Comparar usando el siguiente código

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:

  • predeterminado - 0,46 s;
  • MKL - 0,14 s.

información relacionada