Created: 2017/04/24 Last Updated: 2017/04/24
このドキュメントは Fortran Builder で Intel® MKL (Math Kernel Library) を利用する方法を説明したものです。
1. Intel® MKL について
Intel® Math Kernel Library (Intel® MKL) はインテル社が提供する数学ライブラリです。BLAS、LAPACK、FFT、乱数生成等のルーチンが提供されます。現在は無償で利用可能なオプションも用意されています。
詳細につきましてはIntel社サイト(https://software.intel.com/intel-mkl)をご参照下さい。
2. Fortran Builder for Windows で Intel® MKL を利用する方法
以下に Fortran Builder for Windows で Intel® MKLを を利用する方法を説明します。
既にFortran Builder がインストール済である事を前提としています。
(※Fortran Builder をお持ちでない方は、ダウンロード&トライアル をご参照下さい)
2.1. MKLを入手する
Intel社サイト(https://software.intel.com/intel-mkl)を参照していただき、MKLを入手し、インストールを完了して下さい。
2.2. Fortran Builder を実行してプロジェクトを新規作成する
Fortran Builderを起動して、メニューの [ファイル|新規作成|プロジェクト] でプロジェクトを新規作成して下さい。
コンソールプロジェクトを選択し、プロジェクト名はmklTestとして、[次へ] 進んで下さい。
以下のような詳細画面では [テンプレートなし] で [OK] を押して下さい。
以上で、プロジェクトが新規作成されました。
2.3. サンプルプログラムを入力するためのファイルを新規作成する
メニューの [ファイル|新規作成|ファイル] でサンプルプログラムを入力するためのファイルを新規作成して下さい。
Fortran自由形式のファイルを選択して [OK] を押して下さい。
ファイル名を指定します。ここでは prog として [OK] を押して下さい。
以上で、空のソースファイルが作成されました。
2.4. サンプルプログラムを入力する
以下に示すサンプルプログラムコードはLAPACKのルーチンの一つであるdgesv(実線形方程式を解くルーチン)を用いる簡単なテストプログラムです。 MKLにはLAPACKの各ルーチンが含まれていますので、今回はこれをテストプログラムとして利用します。
上記ステップで新規作成したファイルに、以下のコードを入力します。(コピー&ペーストでも結構です)
program tsurukame implicit none integer,parameter :: n = 2 integer,parameter :: nrhs = 1 integer ipiv(n), info double precision a(n,n), b(n,nrhs) a(1,1) = 1 a(1,2) = 1 a(2,1) = 2 a(2,2) = 4 b(1,1) = 8 b(2,1) = 26 call dgesv(n,nrhs,a,n,ipiv,b,n,info) if ( info /= 0 ) stop "Error" print *, b end program tsurukame
以下にサンプルプログラム入力後の画面例を示します。
2.5. MKLのリンクを設定する
このステップでは、MKLをリンクする設定を行います。
メニューの [プロジェクト|プロジェクトの設定] を選択して下さい。
ビットモードが 64-bit であることを確認してください。もしも 32-bit となっていたら 64-bit ボタンを押して 64-bit に変更して下さい。
次に設定画面上部の [リンク] TAB を選択して [追加] ボタンを押して下さい。
以下のような画面が表示されますので、ここでMKLのDLLファイル(mkl_rt.dll)をフルパスで指定して [OK] を押して下さい。
※この際に64bitアーキテクチャ向けのもの(MKLインストール先フォルダと同じ階層にあるredistフォルダ内のintel64_win\mkl\mkl_rt.dll)を指定するようにして下さい。
ご参考までに、弊社テスト時の環境では以下のフルパスを指定しました。
(※以下のパスは参考情報です。他の環境/バージョンでは異なりますので、そのままご利用いただく事はできません)
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.2.187\windows\redist\intel64_win\mkl\mkl_rt.dll
次にプロジェクトの設定画面でも [OK] を押して画面を閉じて下さい。
以上でビルド及び実行の準備が完了しました。
2.6. ビルド&実行を行う
メニューの [実行|実行] を選択して下さい。
(問題がなければ)以下の実行結果が得られます。
以上です。