Nouveau dans

Bibliothèque du noyau mathématique d’Intel (MKL)

Stata 17 fournit des routines LAPACK profondément optimisées en utilisant la bibliothèque Intel Math Kernel Library (MKL) sur le matériel compatible (tous les ordinateurs 64 bits basés sur Intel et AMD).
LAPACK (Linear Algebra PACKage) est un ensemble de routines librement disponibles pour la résolution de systèmes d’équations simultanées, de problèmes de valeurs propres et de problèmes de valeurs singulières, entre autres. Les opérateurs et fonctions Mata qrd(), lud(), cholesky(), etc., exploitent LAPACK dans la mesure du possible pour de nombreuses opérations numériques.
LAPACK soutenu par le MKL d’Intel fournit les dernières routines LAPACK fortement optimisées pour le jeu d’instructions 64 bits Intel x86-64 utilisé par les processeurs Intel et AMD modernes. Les fonctions et opérateurs Mata utilisant le MKL bénéficient d’un avantage considérable en termes de performances.

Points forts

  • Performances nettement améliorées pour les fonctions et opérateurs Mata utilisant des routines LAPACK
  • Mises à jour des algorithmes et améliorations des routines LAPACK

Par exemple :

Temps de multiplication de deux matrices réelles en secondes :

Edition Size MKL non-MKL
MP8 5,000 by 5,000 2.55 10.26
MP8 10,000 by 10,000 17.28 85.60
   
MP4 5,000 by 5,000 3.62 15.95
MP4 10,000 by 10,000 28.22 127.24
   
SE 5,000 by 5,000 13.64 70.61
SE 10,000 by 10,000 108.33 566.99

Timings run in Windows 10 on a computer with an i9-9900KS processor at 4.00GHz and 64GB RAM

Temporisation de cholesky() en secondes :

Edition Size MKL non-MKL
MP8 5,000 by 5,000 0.42 16.69
MP8 10,000 by 10,000 2.91 133.60
   
MP4 5,000 by 5,000 0.69 16.69
MP4 10,000 by 10,000 5.03 133.70
   
SE 5,000 by 5,000 2.41 18.62
SE 10,000 by 10,000 16.66 133.63
Timings run in Windows 10 on a computer with an i9-9900KS processor at 4.00GHz and 64GB RAM

Et surtout, vous n’avez rien à faire pour profiter de ces gains de vitesse. Les commandes Stata utilisant ces fonctions et opérateurs Mata, ainsi que les fonctions et opérateurs Mata eux-mêmes, utiliseront automatiquement la MKL d’Intel sur du matériel compatible.

Référence

Anderson, E., Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, et D. Sorensen. 1999. Guide de l’utilisateur de LAPACK. 3rd ed. Philadelphie : Society for Industrial and Applied Mathematics.
Rosenquist, T. 2011. Obtenir des résultats reproductibles avec Intel MKL. https://software.intel.com/content/www/us/en/develop/articles/getting-reproducible-results-with-intel-mkl.html.
Intel oneAPI Math Kernel Library. https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html.