Diferencia entre revisiones de «Biblioteca MKL»
| Línea 1: | Línea 1: | ||
{{ Beta }} | {{ Beta }} | ||
| − | MKL<ref name="mkl">[http://software.intel.com/en-us/intel-mklIntel Math Kernel Library] (software.intel.com)</ref> es una biblioteca desarrollada por ''Intel'' para realizar operaciones relacionadas con álgebra numérica. Esta biblioteca es muy rápida sobre procesadores Intel. Es la biblioteca que emplea [[MATLAB]] para realizar las operaciones de álgebra numérica. También puede usarse con [[GNU Octave]]. | + | MKL<ref name="mkl">[http://software.intel.com/en-us/intel-mklIntel Math Kernel Library] (software.intel.com)</ref> es una biblioteca desarrollada por ''Intel'' para realizar operaciones relacionadas con álgebra numérica. Esta biblioteca es muy rápida sobre procesadores Intel. Es la biblioteca que emplea [[MATLAB]] para realizar las operaciones de álgebra numérica. También puede usarse con otros entornos de cálculo numérico como [[GNU Octave]] o [[R]]. |
== ¿Qué es MKL? == | == ¿Qué es MKL? == | ||
Revisión del 14:52 27 jun 2013
| |
MKL[1] es una biblioteca desarrollada por Intel para realizar operaciones relacionadas con álgebra numérica. Esta biblioteca es muy rápida sobre procesadores Intel. Es la biblioteca que emplea MATLAB para realizar las operaciones de álgebra numérica. También puede usarse con otros entornos de cálculo numérico como GNU Octave o R.
Contenido
1 ¿Qué es MKL?
La biblioteca Intel Math Kernel Library contiene funciones optimizadas para realizar diferentes operaciones matemáticas en procesadores fabricados por Intel. Se emplea mucho en entornos científicos, de ingeniería y financieros, ya que puede resolver sistemas lineales con diferentes tipos de matrices (densas, sparse), transformada rápida de Fourier y cualquier operación que requiera manipular vectores y matrices.
La biblioteca está disponible para sistemas Windows, GNU/Linux y Mac. En Windows y Mac es necesario adquirir una licencia comercial para poder emplear la biblioteca[2]. En cambio, en GNU/Linux puede conseguirse una licencia personal sin coste[3].
Hay dos maneras de usar esta biblioteca para acelerar nuestros programas:
- Podemos usarla directamente escribiendo nuestros programas en C, C++ o FORTRAN. Este modo es complejo, y los programas tienen que ser escritos a muy bajo nivel.
- Podemos emplear un programa que enlace con la biblioteca, y nos permita usarla de manera transparente y sencilla.
Por ejemplo, cuando estamos realizando cualquier operación con matrices en MATLAB, en realidad estamos empleando la biblioteca MKL de manera inadvertida. En cambio, cuando usamos otros programas, emplean otras bibliotecas que no funcionan de manera optimizada en procesadores Intel. Por este motivo, programas como GNU Octave son más lentos en la mayoría de operaciones que MATLAB.
Para que un programa de cálculo como GNU Octave o R funcione con la biblioteca MKL no es necesario cambiar los programas, sino simplemente recompilar el programa para que emplee la biblioteca.
2 LAPACK
Bibliotecas LAPACK, niveles de LAPACK
3 Influencia de la arquitectura
Artículos principales: arquitectura de un ordenador, complejidad de un algoritmo, eliminación gaussiana.
El rendimiento de los métodos numéricos para álgebra lineal no dependen ya de la complejidad del algoritmo. Los algoritmos están muy establecidos, y no hay margen para avances en la complejidad. La mejora del rendimiento se ha debido a cambios en la arquitectura de los ordenadores donde se implementan.
La secuencia de operaciones es más importante que la cantidad de operaciones.
Arquitectura Von Neumann. Análisis de Von Neumann de la eliminiación gaussiana[4]
4 Cómo compilar Octave con MKL
5 Referencias
- ↑ Math Kernel Library (software.intel.com)
- ↑ Intel MKL purchase (software.intel.com)
- ↑ Intel Non-Commercial Software Development (software.intel.com)
- ↑ Grcar, Joseph F. John von Neumann's Analysis of Gaussian Elimination and the Origins of Modern Numerical Analysis. SIAM Review, 53(4), pp. 607–682, 2011. (enlace a PDF sin suscripción)