
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 ~/.bashrc
or ~/.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 htop
la lista de bibliotecas a continuación ( F4,octave
, seleccionaroctave-gui
, L, F4,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.