Table of Contents

概要

実際にMKLを利用するためには、ビルドするときに適切なオプションをつけてMKLにリンクを貼らないといけません。 このときにどのようなオプションをつければよいのか簡単に教えてくれるのが、Intel公式のMKL Link Line Advisorです。

https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor

各項目に答えていけば、必要なコンパイルオプションを教えてくれます。

各項目の解説

Select Intel® product

使用しているMKLのバージョンを選びます。

Select OS

使用しているOSを選びます。

Select compiler

使用しているコンパイラを選びます

Select architecture

使用しているOSのアーキテクチャを選びます。

最近のものはほぼ 64bit です。

Select dynamic or static linking

MKLをプログラムに組み込む(static)か、実行のたびに外部から呼び出す(dynamic)か選びます。

dynamicの利点

dynamicの欠点

数値計算では普通はstaticを選びます。 詳しくは以下のページを参照。

https://scicomp.stackexchange.com/questions/1673/what-does-static-dynamic-and-single-dynamic-linking-mean

Select interface layer

自分の作ったプログラムの整数型が何bitかを選びます。

Select threading layer

MKLの並列化の方法を選びます。自分のプログラムを並列化している場合はそれに合わせます。

Select OpenMP library

前の項目でOpenMPを使用するとした場合、どのOpenMPライブラリを使うか指定します。

よくわからなければ libiomp5 を使用してください。

Select cluster library

MPI並列が実装されたMKLを使いたい場合、どのライブラリを使用するか選択します(コンピュータにMPIが入っていない場合は使用できません)。 自分のプログラムで使用しているライブラリを選択してください。

Select MPI library

使用しているMPI実装の種類を選んでください。

Select the Fortran 95 interfaces

自分のプログラムでBLAS95やLAPACK95のインターフェースを使用している場合はチェックを入れてください。