<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/18-adding-intel-mkl-easily-via-a-simple-script/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://dirk.eddelbuettel.com/blog/2018/04/15#018_mkl_for_debian_ubuntu"> Thinking inside the box </a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Welcome to the eighteenth post in the <em>rarely riveting R ramblings</em> series of posts, or <span><em>R</em><sup>4</sup></span> for short.</p>
<p>The <a rel="nofollow" href="https://software.intel.com/en-us/mkl?cid=sem43700010399172562&intel_term=%2Bintel%20%2Bmkl&gclid=Cj0KCQjwzcbWBRDmARIsAM6uChXqzD4ACUJqCiu3zRJKA9rkC31XOhm9lIkEYiwBITMR_8hJbIAExF8aAn_LEALw_wcB&gclsrc=aw.ds" target="_blank">Intel Math Kernel Library (MKL)</a> is well-know high(er) performance math library tailored for Intel CPUs offering best-in-class numerical performance on a number of low-level operations (BLAS, LAPACK, …). They are not open source, used to be under commerical or research-only licenses — but can now be had (still subject to license terms you should study) via <code>apt-get</code> (and even <code>yum</code>). This <a rel="nofollow" href="https://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-apt-repo" target="_blank">page</a> describe the installation of the MKL (and other components) in detail (but stops short of the system integration aspect we show here).</p>
<p>Here we present <a rel="nofollow" href="https://github.com/eddelbuettel/mkl4deb/blob/master/script.sh" target="_blank">one short script</a>, discussed in detail below, to add the MKL to your Debian or Ubuntu system. Its main advantages are</p>
<ul>
<li>clean standard code using package management tools;</li>
<li>additional steps to make it the the system default; and</li>
<li>with an option for clean removal leaning again on the package management system.</li>
</ul>
<p>We put the script and a README.md largely identical to this writeup into <a rel="nofollow" href="https://github.com/eddelbuettel/mkl4deb" target="_blank">this GitHub repo</a> where issues, comments, questions, … should be filed.</p>
<h2>MKL for .deb-based systems: An easy recipe</h2>
<p>This post describes how to <em>easily</em> install the <a rel="nofollow" href="https://software.intel.com/en-us/mkl?cid=sem43700010399172562&intel_term=%2Bintel%20%2Bmkl&gclid=Cj0KCQjwzcbWBRDmARIsAM6uChXqzD4ACUJqCiu3zRJKA9rkC31XOhm9lIkEYiwBITMR_8hJbIAExF8aAn_LEALw_wcB&gclsrc=aw.ds" target="_blank">Intel Math Kernel Library (MKL)</a> on a Debian or Ubuntu system. Very good basic documentation is provided by Intel <a rel="nofollow" href="https://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-apt-repo" target="_blank">at their site</a>. The discussion here is more narrow as it focusses just on the Math Kernel Library (MKL).</p>
<p>The <code>tl;dr</code> version: Use <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2018/04/script.sh" target="_blank">this script</a> which contains the commands described here.</p>
<h3>First Step: Set up apt</h3>
<p>We download the GnuPG key first and add it to the keyring:</p>
<div>
<pre><code><span>cd</span> /tmp
<span>wget</span> https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
<span>apt-key</span> add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB</code></pre>
</div>
<p>To add all Intel products we would run first command, but here we focus just on the MKL. The website above lists other suboptions (TBB, DAAL, MPI, …)</p>
<div>
<pre><code><span>## all products:</span>
<span>#wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list</span>

<span>## just MKL</span>
<span>sh</span> -c <span>'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'</span></code></pre>
</div>
<p>We then update our lists of what is available in the repositories.</p>
<div>
<pre><code><span>apt-get</span> update</code></pre>
</div>
<p><details> As a personal aside, I still use the awesome <code>wajig</code> frontend to <code>dpkg</code>, <code>apt</code> and more by <a rel="nofollow" href="https://togaware.com/about/graham-williams/" target="_blank">Graham Williams</a> (of <a rel="nofollow" href="https://cran.r-project.org/package=rattle" target="_blank">rattle</a> fame). Among other tricks, <code>wajig</code> keeps state and therefore &quot;knows&quot; what packages are new. Here, we see <em>a lot</em>:
<div>
<pre><code><span>edd@rob</span>:/tmp$ wajig update
<span>Hit</span>:1 http://us.archive.ubuntu.com/ubuntu artful InRelease
<span>Ign</span>:2 http://dl.google.com/linux/chrome/deb stable InRelease
<span>Hit</span>:3 http://us.archive.ubuntu.com/ubuntu artful-updates InRelease
<span>Hit</span>:4 https://download.docker.com/linux/ubuntu artful InRelease
<span>Hit</span>:5 http://us.archive.ubuntu.com/ubuntu artful-backports InRelease
<span>Ign</span>:6 https://cloud.r-project.org/bin/linux/ubuntu artful/ InRelease
<span>Hit</span>:7 https://cloud.r-project.org/bin/linux/ubuntu artful/ Release
<span>Hit</span>:8 http://security.ubuntu.com/ubuntu artful-security InRelease
<span>Hit</span>:9 https://apt.repos.intel.com/mkl all InRelease
<span>Hit</span>:10 http://dl.google.com/linux/chrome/deb stable Release
<span>Hit</span>:12 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease
<span>Reading</span> package lists... Done
<span>This</span> is 367 up on the previous count with 367 new packages.
<span>edd@rob</span>:/tmp$ wajig new
<span>Package</span>                  Description
========================<span>-</span>===================================================
<span>intel-mkl-gnu-f-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-gnu-f-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-cluster-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-gnu-c-196</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-cluster-c-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-f-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-cluster-rt-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-gnu-239</span>        Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-openmp-l-ps-libs-32bit-jp-174</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 2 for Linux*
<span>intel-mkl-doc-ps-2018</span>    Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-pgi-rt-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-ss-tbb-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-mic-cluster-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-openmp-l-ps-libs-jp-196</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 4 for Linux*
<span>intel-mkl-ps-mic-rt-174</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-openmp-l-ps-libs-jp-239</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 5 for Linux*
<span>intel-mkl-common-f-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-f95-mic-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-common-64bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-f95-common-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-psxe-common-2018.2-046</span> Intel(R) <span>Parallel</span> Studio XE 2018 Update 2 for Linux*
<span>intel-mkl-ps-mic-cluster-rt-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-cluster-64bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-f95-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-cluster-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-gnu-rt-196</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-tbb-libs-2018.0-128</span> Intel(R) <span>Threading</span> Building Blocks 2018 for Linux*
<span>intel-comp-l-all-vars-196</span> Intel(R) <span>Compilers</span> 17.0 Update 4 for Linux*
<span>intel-mkl-common-ps-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-pgi-f-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-f95-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-gnu-rt-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-openmp-18.0.0-128</span>  OpenMP for Intel(R) <span>Compilers</span> 18.0 for Linux*
<span>intel-mkl-common-c-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-ps-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-f95-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-f95-mic-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-common-c-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-cluster-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-doc-f-jp</span>    Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-f-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-32bit-2018.1-038</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-common-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-openmp-l-all-196</span>   OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 4 for Linux*
<span>intel-mkl-pgi-rt-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-common-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-comp-nomcu-vars-18.0.0-128</span> Intel(R) <span>Compilers</span> 18.0 for Linux*
<span>intel-mkl-common-c-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-f-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-common-c-64bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-32bit-174</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-common-ps-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-cluster-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-gnu-f-rt-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-cluster-f-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-common-c-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-ss-tbb-196</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-tbb-libs-32bit-2018.0-128</span> Intel(R) <span>Threading</span> Building Blocks 2018 for Linux*
<span>intel-mkl-gnu-c-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-tbb-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-tbb-libs-2018.1-163</span> Intel(R) <span>Threading</span> Building Blocks 2018 Update 1 for Linux*
<span>intel-mkl-ps-common-f-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-ss-tbb-rt-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-196</span>            Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-pgi-196</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-psxe-2018.2-046</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-doc-c</span>          Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-f95-196</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-cluster-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-tbb-libs-174</span>       Intel(R) <span>Threading</span> Building Blocks 2017 Update 4 for Linux*
<span>intel-comp-l-all-vars-174</span> Intel(R) <span>Compilers</span> 17.0 Update 2 for Linux*
<span>intel-mkl-gnu-f-rt-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-gnu-rt-174</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-openmp-l-ps-libs-32bit-jp-196</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 4 for Linux*
<span>intel-mkl-gnu-f-rt-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-openmp-18.0.1-163</span>  OpenMP for Intel(R) <span>Compilers</span> 18.0 Update 1 for Linux*
<span>intel-mkl-ps-cluster-64bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-c-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-pgi-rt-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-2018.2-046</span>     Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-gnu-rt-239</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-rt-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-comp-l-all-vars-18.0.0-128</span> Intel(R) <span>Compilers</span> 18.0 for Linux*
<span>intel-mkl-ps-common-jp-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-openmp-32bit-18.0.0-128</span> OpenMP for Intel(R) <span>Compilers</span> 18.0 for Linux*
<span>intel-mkl-f95-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-core-ps-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-gnu-f-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-tbb-mic-rt-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-psxe-2018.1-038</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-gnu-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-mic-174</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-64bit-2017.4-061</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-f95-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-mic-rt-jp-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-196</span>        Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-psxe-common-doc-2018</span> Intel(R) <span>Parallel</span> Studio XE 2018 Update 2 for Linux*
<span>intel-mkl-ps-tbb-mic-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-c-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-core-c-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-cluster-rt-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-rt-jp-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-core-c-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-ss-tbb-rt-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-core-f-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-psxe-050</span>       Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-64bit-2018.2-046</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-tbb-rt-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-ss-tbb-rt-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-doc-f</span>       Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-c-174</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-f95-common-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-rt-jp-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-gnu-f-rt-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-pgi-f-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-tbb-libs-32bit-2018.1-163</span> Intel(R) <span>Threading</span> Building Blocks 2018 Update 1 for Linux*
<span>intel-mkl-common-c-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-gnu-rt-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-64bit-2018.0-033</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-mic-c-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-ss-tbb-239</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-64bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-openmp-32bit-18.0.2-199</span> OpenMP for Intel(R) <span>Compilers</span> 18.0 Update 2 for Linux*
<span>intel-mkl-ps-rt-jp-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-f-rt-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-common-jp-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-tbb-mic-rt-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-psxe-common-061</span>    Intel(R) <span>Parallel</span> Studio XE 2017 Update 5 for Linux*
<span>intel-mkl-gnu-rt-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-common-f-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-mic-cluster-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-common-f-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-tbb-libs-196</span>       Intel(R) <span>Threading</span> Building Blocks 2017 Update 6 for Linux*
<span>intel-mkl-cluster-rt-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-cluster-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-pgi-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-ss-tbb-rt-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-openmp-l-all-174</span>   OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 2 for Linux*
<span>intel-mkl-tbb-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-pgi-c-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-64bit-2018.1-038</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-f95-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-gnu-c-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-239</span>            Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-pgi-rt-174</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-cluster-f-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-f95-common-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-f-64bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-cluster-common-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-cluster-f-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-common-jp-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-openmp-l-all-32bit-196</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 4 for Linux*
<span>intel-mkl-tbb-rt-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-psxe-common-056</span>    Intel(R) <span>Parallel</span> Studio XE 2017 Update 4 for Linux*
<span>intel-mkl-32bit-2018.0-033</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-comp-l-all-vars-18.0.2-199</span> Intel(R) <span>Compilers</span> 18.0 Update 2 for Linux*
<span>intel-mkl-common-ps-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-core-rt-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-pgi-c-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-common-c-ps-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-gnu-f-rt-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-f95-common-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-openmp-l-all-239</span>   OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 5 for Linux*
<span>intel-mkl-174</span>            Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-f-rt-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-tbb-libs-239</span>       Intel(R) <span>Threading</span> Building Blocks 2017 Update 8 for Linux*
<span>intel-mkl-common-f-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-common-f-64bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-cluster-common-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-comp-nomcu-vars-18.0.2-199</span> Intel(R) <span>Compilers</span> 18.0 Update 2 for Linux*
<span>intel-mkl-32bit-196</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-gnu-f-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-ps-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-common-196</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-rt-174</span>         Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-rt-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-common-f-64bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-cluster-rt-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-cluster-c-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-gnu-rt-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-doc</span>         Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-rt-32bit-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-openmp-l-ps-libs-174</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 2 for Linux*
<span>intel-mkl-ps-cluster-rt-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-common-64bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-c-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-pgi-c-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-gnu-f-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-pgi-f-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-f-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-core-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-common-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-pgi-c-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-rt-jp-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-common-c-64bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-gnu-f-rt-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-pgi-c-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-f-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-32bit-239</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-rt-jp-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-mic-239</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-tbb-libs-2018.2-199</span> Intel(R) <span>Threading</span> Building Blocks 2018 Update 2 for Linux*
<span>intel-mkl-f95-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-openmp-l-ps-libs-239</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 5 for Linux*
<span>intel-mkl-rt-239</span>         Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-core-c-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-openmp-l-all-32bit-174</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 2 for Linux*
<span>intel-mkl-ps-pgi-239</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-f-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-gnu-f-rt-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-tbb-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-rt-32bit-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-mic-196</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-gnu-f-rt-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-32bit-239</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-174</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-common-c-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-f-rt-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-f95-common-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-mic-f-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-196</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-ps-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-cluster-64bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-64bit-2017.3-056</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-ss-tbb-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-32bit-2017.4-061</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-tbb-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-64bit-2017.2-050</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-mic-rt-196</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-cluster-c-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-c-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-gnu-f-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-gnu-c-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-rt-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-core-rt-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-common-239</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-2017.3-056</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-tbb-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-pgi-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-pgi-f-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-common-c-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-tbb-rt-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-openmp-l-all-32bit-239</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 5 for Linux*
<span>intel-mkl-rt-196</span>         Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-cluster-f-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-2017.4-061</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-common-c-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-c-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-psxe-common-doc</span>    Intel(R) <span>Parallel</span> Studio XE 2017 Update 5 for Linux*
<span>intel-tbb-libs-32bit-2018.2-199</span> Intel(R) <span>Threading</span> Building Blocks 2018 Update 2 for Linux*
<span>intel-mkl-2017.2-050</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-tbb-mic-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-2018.1-038</span>     Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-gnu-c-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-ps-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-tbb-mic-rt-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-tbb-rt-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-cluster-f-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-psxe-061</span>       Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-ss-tbb-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-mic-rt-jp-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-common-c-ps-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-doc-jp</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-core-rt-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-common-f-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-c-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-cluster-rt-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-mic-rt-239</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-openmp-l-ps-libs-196</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 4 for Linux*
<span>intel-mkl-common-c-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-32bit-196</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-openmp-18.0.2-199</span>  OpenMP for Intel(R) <span>Compilers</span> 18.0 Update 2 for Linux*
<span>intel-mkl-ps-common-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-rt-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-openmp-32bit-18.0.1-163</span> OpenMP for Intel(R) <span>Compilers</span> 18.0 Update 1 for Linux*
<span>intel-mkl-ps-pgi-174</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-comp-l-all-vars-239</span> Intel(R) <span>Compilers</span> 17.0 Update 5 for Linux*
<span>intel-mkl-ps-mic-c-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-f-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-ss-tbb-174</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-f-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-mic-c-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-mic-rt-jp-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-psxe-common-2018.0-033</span> Intel(R) <span>Parallel</span> Studio XE 2018 for Linux*
<span>intel-mkl-ps-f95-mic-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-common-c-64bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-psxe-056</span>       Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-rt-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-core-c-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-common-c-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-comp-l-all-vars-18.0.1-163</span> Intel(R) <span>Compilers</span> 18.0 Update 1 for Linux*
<span>intel-mkl-psxe-2018.0-033</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-f95-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-openmp-l-ps-libs-jp-174</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 2 for Linux*
<span>intel-mkl-tbb-rt-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-mic-f-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-2018.0-033</span>     Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-ps-f95-239</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-doc</span>            Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-common-c-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-common-f-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-gnu-f-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-cluster-c-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-common-c-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-tbb-mic-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-sta-common-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-32bit-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-core-f-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-32bit-2018.2-046</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-mic-f-196</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-c-239</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-doc-c-jp</span>    Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-rt-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-doc-2018</span>       Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-pgi-c-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-core-rt-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-common-239</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-f95-common-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-gnu-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-cluster-c-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-mic-cluster-rt-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-cluster-f-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-pgi-f-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-common-c-ps-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-cluster-common-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-32bit-2017.3-056</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-core-rt-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-gnu-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-eula-174</span>       Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-ss-tbb-rt-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-pgi-rt-196</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-gnu-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-psxe-common-2018.1-038</span> Intel(R) <span>Parallel</span> Studio XE 2018 Update 1 for Linux*
<span>intel-mkl-pgi-f-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-core-ps-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-common-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-rt-jp-239</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-ps-pgi-rt-239</span>  Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-32bit-2017.2-050</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-f-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-pgi-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-tbb-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-comp-nomcu-vars-18.0.1-163</span> Intel(R) <span>Compilers</span> 18.0 Update 1 for Linux*
<span>intel-mkl-common-f-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-tbb-rt-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-common-174</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-gnu-c-32bit-2018.2-199</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 2 for Linux*
<span>intel-mkl-ps-mic-cluster-rt-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-f95-174</span>     Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-core-2018.1-163</span> Intel(R) <span>Math</span> Kernel Library 2018 Update 1 for Linux*
<span>intel-mkl-ps-gnu-f-32bit-196</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 3 for Linux*
<span>intel-mkl-ps-f95-32bit-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-ps-mic-cluster-174</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-psxe-common-050</span>    Intel(R) <span>Parallel</span> Studio XE 2017 Update 2 for Linux*
<span>intel-mkl-cluster-c-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-rt-32bit-174</span>   Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-mkl-32bit-174</span>      Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>intel-openmp-l-ps-libs-32bit-jp-239</span> OpenMP for Intel(R) <span>Compilers</span> 17.0 Update 5 for Linux*
<span>intel-mkl-ps-ss-tbb-rt-32bit-239</span> Intel(R) <span>Math</span> Kernel Library 2017 Update 4 for Linux*
<span>intel-mkl-gnu-f-rt-32bit-2018.0-128</span> Intel(R) <span>Math</span> Kernel Library 2018 for Linux*
<span>intel-mkl-gnu-174</span>        Intel(R) <span>Math</span> Kernel Library 2017 Update 2 for Linux*
<span>edd@rob</span>:/tmp$</code></pre>
</div>
</details>
<h3>Install MKL</h3>
<p>Now that we have everything set up, installing the MKL is as simple as:</p>
<div>
<pre><code><span>apt-get</span> install intel-mkl-64bit-2018.2-046</code></pre>
</div>
<p>This picks the 64-bit only variant of the (currently) most recent builds.</p>
<p>There is a slight cost: a 500mb download of 39 packages which install to 1.9 gb! Other than that it is easy: one command! Compare that with the days of yore when we fetched shar archives of NETLIB…</p>
<h3>Integrate MKL</h3>
<p>One the key advantages of a Debian or Ubuntu system is the overall integration providing a raft of useful features. One of these is the seamless and automatic selection of alternatives. By declaring a particular set of BLAS and LAPACK libraries the default, <em>all</em> application linked against this interface will use the default. Better still, users can switch between these as well.</p>
<p>So here we can make the MKL default for BLAS and LAPACK:</p>
<div>
<pre><code><span>## update alternatives</span>
<span>update-alternatives</span> --install /usr/lib/x86_64-linux-gnu/libblas.so     \
                    libblas.so-x86_64-linux-gnu      /opt/intel/mkl/lib/intel64/libmkl_rt.so 50
<span>update-alternatives</span> --install /usr/lib/x86_64-linux-gnu/libblas.so.3   \
                    libblas.so.3-x86_64-linux-gnu    /opt/intel/mkl/lib/intel64/libmkl_rt.so 50
<span>update-alternatives</span> --install /usr/lib/x86_64-linux-gnu/liblapack.so   \
                    liblapack.so-x86_64-linux-gnu    /opt/intel/mkl/lib/intel64/libmkl_rt.so 50
<span>update-alternatives</span> --install /usr/lib/x86_64-linux-gnu/liblapack.so.3 \
                    liblapack.so.3-x86_64-linux-gnu  /opt/intel/mkl/lib/intel64/libmkl_rt.so 50</code></pre>
</div>
<p>Next, we have to tell the dyanmic linker about two directories use by the MKL, and have it update its cache:</p>
<div>
<pre><code><span>echo</span> <span>&quot;/opt/intel/lib/intel64&quot;</span>     <span>></span>  /etc/ld.so.conf.d/mkl.conf
<span>echo</span> <span>&quot;/opt/intel/mkl/lib/intel64&quot;</span> <span>>></span> /etc/ld.so.conf.d/mkl.conf
<span>ldconfig</span></code></pre>
</div>
<h3>Use the MKL</h3>
<p>Now the MKL is ‘known’ and the default. If we start R, its <code>sessionInfo()</code> shows the MKL:</p>
<div>
<pre><code><span># Matrix products: default </span>
<span># BLAS/LAPACK: /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/lib/intel64_lin/libmkl_rt.so </span></code></pre>
</div>
<h3>Benchmarks</h3>
<div>
<pre><code><span># Vanilla r-base Rocker with default reference BLAS </span>
<span>></span><span> </span>n &lt;-<span> </span><span>1e3</span> ; X &lt;-<span> </span><span>matrix</span>(<span>rnorm</span>(n<span>*</span>n),n,n);  <span>system.time</span>(<span>svd</span>(X)) 
   user  system elapsed 
  <span>2.239</span>   <span>0.004</span>   <span>2.266</span> 
<span>></span><span> </span>

<span># OpenBlas added to r-base Rocker</span>
<span>></span><span> </span>n &lt;-<span> </span><span>1e3</span> ; X &lt;-<span> </span><span>matrix</span>(<span>rnorm</span>(n<span>*</span>n),n,n);  <span>system.time</span>(<span>svd</span>(X)) 
   user  system elapsed 
  <span>1.367</span>   <span>2.297</span>   <span>0.353</span> 
<span>></span><span> </span>

<span># MKL added to r-base Rocker</span>
<span>></span><span> </span>n &lt;-<span> </span><span>1e3</span> ; X &lt;-<span> </span><span>matrix</span>(<span>rnorm</span>(n<span>*</span>n),n,n)  
<span>></span><span> </span><span>system.time</span>(<span>svd</span>(X))                               
   user  system elapsed                             
  <span>1.772</span>   <span>0.056</span>   <span>0.350</span>                             
<span>></span><span> </span></code></pre>
</div>
<p>So just R (with reference BLAS) is slow. (Using Docker is done here to have clean comparisons while not altering the outer host system; impact of running Docker on Linux should be minimal.) Adding OpenBLAS helps quite a bit already by offering multi-core processing — the, and MKL does not yet improve materially over OpenBLAS. Now, this of course was not any serious benchmarking—we just ran one SVD. More to do as time permits…</p>
<h3>Removal, if needed</h3>
<p>Another rather nice benefit of the package management is that clean removal is also possible:</p>
<div>
<pre><code><span>root@c9f8062fbd93</span>:/tmp# apt-get autoremove intel-mkl-64bit-2018.2-046
<span>Reading</span> package lists... Done
<span>Building</span> dependency tree       
<span>Reading</span> state information... Done
<span>The</span> following packages will be REMOVED:
  <span>intel-comp-l-all-vars-18.0.2-199</span> intel-comp-nomcu-vars-18.0.2-199 intel-mkl-64bit-2018.2-046 
  <span>intel-mkl-cluster-2018.2-199</span> intel-mkl-cluster-c-2018.2-199 intel-mkl-cluster-common-2018.2-199 
  <span>intel-mkl-cluster-f-2018.2-199</span> intel-mkl-cluster-rt-2018.2-199 intel-mkl-common-2018.2-199 
  <span>intel-mkl-common-c-2018.2-199</span> intel-mkl-common-c-ps-2018.2-199 intel-mkl-common-f-2018.2-199 
  <span>intel-mkl-common-ps-2018.2-199</span> intel-mkl-core-2018.2-199 intel-mkl-core-c-2018.2-199 
  <span>intel-mkl-core-f-2018.2-199</span> intel-mkl-core-ps-2018.2-199 intel-mkl-core-rt-2018.2-199 
  <span>intel-mkl-doc-2018</span> intel-mkl-doc-ps-2018 intel-mkl-f95-2018.2-199 intel-mkl-f95-common-2018.2-199 
  <span>intel-mkl-gnu-2018.2-199</span> intel-mkl-gnu-c-2018.2-199 intel-mkl-gnu-f-2018.2-199 intel-mkl-gnu-f-rt-2018.2-199 
  <span>intel-mkl-gnu-rt-2018.2-199</span> intel-mkl-pgi-2018.2-199 intel-mkl-pgi-c-2018.2-199 intel-mkl-pgi-f-2018.2-199 
  <span>intel-mkl-pgi-rt-2018.2-199</span> intel-mkl-psxe-2018.2-046 intel-mkl-tbb-2018.2-199 intel-mkl-tbb-rt-2018.2-199 
  <span>intel-openmp-18.0.2-199</span> intel-psxe-common-2018.2-046 intel-psxe-common-doc-2018 intel-tbb-libs-2018.2-199 
  <span>intel-tbb-libs-32bit-2018.2-199</span> libisl15
<span>0</span> upgraded, 0 newly installed, 40 to remove and 0 not upgraded.
<span>After</span> this operation, 1,904 kB disk space will be freed.
<span>Do</span> you want to continue? [Y/n] n                    
<span>Abort.</span>                                              
<span>root@c9f8062fbd93</span>:/tmp#  </code></pre>
</div>
<p>where we said ‘no’ just to illustrate the option.</p>
<h3>Summary</h3>
<p>Package management systems are fabulous. Kudos to Intel for supporting <code>apt</code> (and also <code>yum</code> in case you are on an rpm-based system). We can install the MKL with just a few commands (which we regrouped in <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/2018/04/script.sh" target="_blank">this script</a>).</p>
<p>The MKL has a serious footprint with an installed size of just under 2gb. But for those doing extended amounts of numerical analysis, installing this library may well be worth it.</p>
<p>
This post by <a rel="nofollow" href="http://dirk.eddelbuettel.com/" target="_blank">Dirk Eddelbuettel</a> originated on his <a rel="nofollow" href="http://dirk.eddelbuettel.com/blog/" target="_blank">Thinking inside the box</a> blog. Please report excessive re-aggregation in third-party for-profit settings.</p>
<p>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://dirk.eddelbuettel.com/blog/2018/04/15#018_mkl_for_debian_ubuntu"> Thinking inside the box </a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/tw1YkCiTmSk" height="1"></a></div>