<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Math_Kernel_Library</id>
	<title>Math Kernel Library - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Math_Kernel_Library"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Math_Kernel_Library&amp;action=history"/>
	<updated>2026-09-11T18:40:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Math_Kernel_Library&amp;diff=8639845&amp;oldid=prev</id>
		<title>imported&gt;Boubloub: Link</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Math_Kernel_Library&amp;diff=8639845&amp;oldid=prev"/>
		<updated>2025-06-27T20:07:55Z</updated>

		<summary type="html">&lt;p&gt;Link&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Optimized math routines developed by Intel}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name = Intel oneAPI Math Kernel Library&lt;br /&gt;
| logo = &lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| collapsible = &lt;br /&gt;
| author = &lt;br /&gt;
| developer = [[Intel]]&lt;br /&gt;
| released = {{Start date and age|1994|11}}&lt;br /&gt;
| latest release version = 2024.2&lt;br /&gt;
| latest release date = {{Start date and age|2024|06|14}}&amp;lt;ref&amp;gt;{{cite web|title=Intel® Math Kernel Library Release Notes and New Features|url=https://software.intel.com/content/www/us/en/develop/articles/oneapi-math-kernel-library-release-notes.html|website=software.intel.com}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date = &lt;br /&gt;
| programming language = [[C (programming language)|C]]/[[C++]], [[OneAPI (compute acceleration)#Data Parallel C++|DPC++]], [[Fortran]]&lt;br /&gt;
| operating system = [[Microsoft Windows]], [[Linux]]&lt;br /&gt;
| platform = &lt;br /&gt;
CPU&amp;lt;ref name=&amp;quot;official&amp;quot;&amp;gt;[https://software.intel.com/oneapi/onemkl Intel® oneAPI Math Kernel Library (oneMKL) | Intel® Software]&amp;lt;/ref&amp;gt;&lt;br /&gt;
*[[Intel Xeon]]&lt;br /&gt;
*[[Intel Core]]&lt;br /&gt;
*[[Intel Atom]]&lt;br /&gt;
GPU&lt;br /&gt;
*[[Intel Graphics Technology|Intel UHD Graphics]] for 11th generation Intel processors or newer&lt;br /&gt;
*Intel Iris Xe graphics&lt;br /&gt;
*[[Intel Arc]] graphics&lt;br /&gt;
*[[Intel Xe|Intel Data Center GPU]] Flex Series&lt;br /&gt;
*Intel Data Center GPU Max Series&lt;br /&gt;
| size = &lt;br /&gt;
| language = &lt;br /&gt;
| genre = [[Library (computing)|Library]] and [[Software framework|framework]]&lt;br /&gt;
| license = [[freeware]] under ISSL&amp;lt;ref name=&amp;quot;license&amp;quot;&amp;gt;{{cite web |title=Intel Simplified Software License |url=https://software.intel.com/en-us/license/intel-simplified-software-license}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web | url=https://spec.oneapi.io/versions/latest/elements/oneMKL/source/index.html | title=OneMKL — oneAPI Specification 1.1-rev-1 documentation }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intel [[oneAPI (compute acceleration)|oneAPI]] Math Kernel Library&amp;#039;&amp;#039;&amp;#039; (Intel &amp;#039;&amp;#039;&amp;#039;oneMKL&amp;#039;&amp;#039;&amp;#039;), formerly known as Intel Math Kernel Library, is a [[Library (computer science)|library]] of optimized math routines for science, engineering, and financial applications. Core math functions include [[BLAS]], [[LAPACK]], [[ScaLAPACK]], sparse solvers, [[fast Fourier transform]]s, and vector math.&amp;lt;ref name=&amp;quot;cambridge&amp;quot;&amp;gt;{{cite web|url=https://www.its.hku.hk/services/research/hpc/software/mkl|title=Intel Math Kernel Library}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;NSC&amp;quot;&amp;gt;{{cite web |title=Intel Math Kernel Library (MKL)|url=https://www.nsc.liu.se/software/math-libraries/}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The library supports x86 CPUs and Intel GPUs&amp;lt;ref name=&amp;quot;official&amp;quot;/&amp;gt; and is available for [[Windows]] and [[Linux]] [[operating system]]s.&amp;lt;ref name=&amp;quot;cambridge&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;NSC&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;OhioState&amp;quot;&amp;gt;{{cite web|url=https://www.osc.edu/documentation/software-list/mkl-intel-math-kernel-library|title=MKL - Intel Math Kernel Library|date=23 April 2012}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Intel oneAPI Math Kernel Library&amp;#039;&amp;#039; is not to be confused with oneMKL Interfaces, an open-source [[wrapper library]] that allows DPC++ applications to call oneMKL routines that can be offloaded to multiple hardware architectures and vendors defined during runtime.&amp;lt;ref&amp;gt;{{cite web |title=oneapi-src/oneMKL |url=https://github.com/oneapi-src/oneMKL |publisher=oneAPI-SRC |date=19 March 2021 |quote=oneMKL interfaces are an open-source implementation of the oneMKL Data Parallel C++ (DPC++) interface according to the oneMKL specification. It works with multiple devices (backends) using device-specific libraries underneath.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==History and licensing==&lt;br /&gt;
Intel launched the oneAPI Math Kernel Library in November 1994, and called it Intel BLAS Library.&amp;lt;ref name=mklman/&amp;gt; In 1996, the library was renamed to Intel Math Kernel Library until April 2020, when intel oneMKL has become part of oneAPI initiative to support multiple hardware architectures, holding the current name Intel oneAPI Math Kernel Library.&lt;br /&gt;
&lt;br /&gt;
The library is available as part of oneAPI Toolkits and in a standalone form, free of charge under the terms of Intel Simplified Software License&amp;lt;ref name=&amp;quot;license&amp;quot; /&amp;gt; which allow redistribution.&amp;lt;ref name=&amp;quot;licensing-faq&amp;quot;&amp;gt;{{cite web|title=Intel Math Kernel Library Licensing FAQ|url=https://software.intel.com/en-us/mkl/license-faq}}&amp;lt;/ref&amp;gt; Commercial support for Intel oneMKL is available when purchased as part of [[oneAPI (compute acceleration)|oneAPI]] Base Toolkit.&lt;br /&gt;
&lt;br /&gt;
Following Apple’s transition away from x86 CPUs, Intel oneMKL last release available for [[macOS]] is the version 2023.2.2 and it is scheduled for removal by the end of 2024.&lt;br /&gt;
&lt;br /&gt;
== Performance and vendor lock-in ==&lt;br /&gt;
{{see also|Intel C++ Compiler#Reception}}&lt;br /&gt;
MKL and other programs generated by the [[Intel C++ Compiler]]  and the [[Intel C++ Compiler|Intel DPC++ Compiler]] improve performance with a technique called function multi-versioning: a function is compiled or written for many of the x86 [[instruction set]] extensions, and at run-time a &amp;quot;master function&amp;quot; uses the [[CPUID]] instruction to select a version most appropriate for the current CPU. However, as long as the master function detects a non-Intel CPU, it almost always chooses the most basic (and slowest) function to use, regardless of what instruction sets the CPU claims to support. This has netted the system a nickname of &amp;#039;&amp;#039;&amp;quot;cripple AMD&amp;quot; routine&amp;#039;&amp;#039; since 2009.&amp;lt;ref name=&amp;quot;agner-blog&amp;quot;&amp;gt;{{cite web|url=https://www.agner.org/optimize/blog/read.php?i=49|title=Agner&amp;#039;s CPU blog - Intel&amp;#039;s &amp;quot;cripple AMD&amp;quot; function|author=Agner Fog|author-link=Agner Fog}}&amp;lt;/ref&amp;gt; {{As of|2020}}, Intel&amp;#039;s MKL remains the numeric library installed by default along with many pre-compiled mathematical applications on Windows (such as [[NumPy]], [[SymPy]]).&amp;lt;ref name=&amp;quot;redditCom2020Update1&amp;quot;&amp;gt;{{Cite web|url=https://old.reddit.com/r/matlab/comments/dxn38s/howto_force_matlab_to_use_a_fast_codepath_on_amd/fm2j83e/|title=Comment chain in: r/matlab - How-To force Matlab to use a fast codepath on AMD Ryzen/TR CPUs - up to 250% performance gains|website=reddit|date=31 March 2020 |language=en-US|access-date=2020-06-06}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;hpccs&amp;quot;&amp;gt;{{Cite web|url=https://kb.hlrs.de/platforms/index.php/Libraries(Hawk)|title=High-Performance Computing Center Stuttgart - Knowledge Base - Libraries(Hawk)|language=en-US|access-date=2020-06-06}}&amp;lt;/ref&amp;gt; Although relying on the MKL, [[MATLAB]] implemented a workaround starting with Release 2020a which ensures full support for AVX2 by the MKL also for non Intel (AMD) CPUs.&amp;lt;ref&amp;gt;{{Cite web|title=Crippled No Longer: Matlab Now Runs on AMD CPUs at Full Speed - ExtremeTech|url=https://www.extremetech.com/computing/308501-crippled-no-longer-matlab-2020a-runs-amd-cpus-at-full-speed|access-date=2020-10-29|website=www.extremetech.com|date=31 March 2020 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
===Functional categories===&lt;br /&gt;
Intel oneMKL has the following functional categories:&amp;lt;ref&amp;gt;{{Cite web|url=https://software.intel.com/en-us/mkl-developer-reference-c|title=Developer Reference for Intel® Math Kernel Library - C|last=admin|date=2019-11-14|website=software.intel.com|language=en|access-date=2019-11-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[[Linear algebra]]:&amp;#039;&amp;#039;&amp;#039; BLAS routines are vector-vector (Level 1), matrix-vector (Level 2) and matrix-matrix (Level 3) operations for real and complex single and double precision data. LAPACK consists of tuned LU, Cholesky and QR factorizations, eigenvalue and least squares solvers. MKL also includes Sparse BLAS, [[ScaLAPACK]], Sparse Solver, [[Eigenvalue algorithm|Extended Eigensolver]] (FEAST, PARDISO), [[PBLAS]] and BLACS. MKL is even better at small dimensions than [https://github.com/libxsmm/libxsmm libxsmm].&lt;br /&gt;
*:Since oneMKL uses standard interfaces for BLAS and LAPACK, the application which uses other implementations can get better performance on Intel and compatible processors by re-linking with MKL libraries.&lt;br /&gt;
*oneMKL includes a variety of &amp;#039;&amp;#039;&amp;#039;[[Fast Fourier transform|Fast Fourier Transforms]] (FFTs)&amp;#039;&amp;#039;&amp;#039; from 1D to multidimensional, complex to complex, real to complex, and real to real transforms of arbitrary lengths. Applications written with the open source [[Fastest Fourier Transform in the West|FFTW]] can be easily ported to MKL by linking with interface wrapper libraries provided as part of MKL for easy migration.&lt;br /&gt;
*:Cluster versions of LAPACK and FFTs are also available as part of MKL to take advantage of MPI parallelism in addition to single node parallelism from multithreading.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Vector math&amp;#039;&amp;#039;&amp;#039; functions include computationally intensive core mathematical operations for single and double precision real and complex data types. These are similar to libm functions from compiler libraries but operate on vectors rather than scalars to provide better performance. There are various controls for setting accuracy, error mode and denormalized number handling to customize the behavior of the routines.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[[Statistics]]&amp;#039;&amp;#039;&amp;#039; functions include random number generators and probability distributions, optimized for multicore processors. Also included are compute-intensive in and out-of-core routines to compute basic statistics, estimation of dependencies etc.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Data fitting&amp;#039;&amp;#039;&amp;#039; functions include splines (linear, quadratic, cubic, look-up, stepwise constant) for 1-dimensional interpolation that can be used in data analytics, geometric modeling and surface approximation applications.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[[Partial differential equation|Partial Differential Equations]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;[[Nonlinear programming|Nonlinear Optimization Problem Solvers]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Once, oneMKL included [[Deep learning|Deep Neural Network]] functions, but they were removed in version 2020 as a spin-off that originated the open-source Intel oneAPI Deep Neural Network Library.&amp;lt;ref&amp;gt;{{Cite web |title=Transitioning from Intel MKL-DNN to oneDNN |author= |work=Intel |date= |access-date=25 July 2024 |url= https://oneapi-src.github.io/oneDNN/dev_guide_transition_to_dnnl.html}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[OneAPI (compute acceleration)]]&lt;br /&gt;
*[[List of numerical libraries]]&lt;br /&gt;
* [[Automatically Tuned Linear Algebra Software]] (ATLAS)&lt;br /&gt;
* [[GotoBLAS]] and [[OpenBLAS]]&lt;br /&gt;
* [[Integrated Performance Primitives]]&lt;br /&gt;
* [[Intel]] Cryptography Primitives Library&lt;br /&gt;
* [[Numerical Library Collection]] – by NEC for their vector processor&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist|refs=&lt;br /&gt;
&amp;lt;ref name=&amp;quot;mklman&amp;quot;&amp;gt;{{cite web|url=https://www.scc.kit.edu/scc/docs/HP-XC/mkl72/mklman.pdf |title=Intel Math Kernel Library, Reference Manual, Version Information |page= ii |date=c. 2004 |access-date=July 25, 2024}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*{{Official website}}&lt;br /&gt;
*[https://software.intel.com/en-us/mkl/documentation/get-started Documentation]&lt;br /&gt;
*[https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/bd-p/oneapi-math-kernel-library oneMKL User Forum]&lt;br /&gt;
*[https://spec.oneapi.io/versions/latest/elements/oneMKL/source/index.html oneAPI oneMKL Specification]&lt;br /&gt;
*[https://www.intel.com/content/www/us/en/developer/articles/technical/onemkl-benchmarks-suite.html oneMKL Benchmarks Suite]&lt;br /&gt;
&lt;br /&gt;
{{Intel software}}&lt;br /&gt;
{{Numerical linear algebra}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2003 software]]&lt;br /&gt;
[[Category:C++ numerical libraries]]&lt;br /&gt;
[[Category:Intel software]]&lt;br /&gt;
[[Category:Numerical software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Boubloub</name></author>
	</entry>
</feed>