R に Intel MKL を導入する

Rを高速化する方法として、Rblas.dllを入れ替えるという手法は以前からあった。
ATLASとかGotoBLASとか。
BLASの高速化 - RjpWiki

今回、Microsoft R Openで使われている Intel MKL をRblas.dllとして利用する方法が紹介されていたので ここにメモをしておく。

教えてもらったツイートはこちら。

ネタ元はこちらのTom Wenseleersさんのコメント。
MRO 3.6 coming?

さらにその元ネタはこちら。
Linking Intel's Math Kernel Library (MKL) to R on Windows - Stack Overflow


1. Intel MKL (Math Kernel Library) をインストールする。配布元はこちら。Customizable Package でOK。
https://software.intel.com/en-us/mkl/choose-download

2.MKLのインストール先の以下の中身を

C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\mkl
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\compiler

Rのインストール先の以下のフォルダにコピーする。

C:\Program Files\R\R-3.x.x\bin\x64

3. 元々入っている R の Rblas.dll と Rlapack.dll を適当にリネームする。
4. C:\Program Files\R\R-3.x.x\bin\x64 内に mkl_rt.dll のコピーを二つ作り、それぞれ Rblas.dll と Rlapack.dll にリネームする。