Fortran Builder から Intel® MKL を利用する方法

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. ビルド&実行を行う

メニューの [実行|実行] を選択して下さい。
実行

(問題がなければ)以下の実行結果が得られます。
実行結果

以上です。

関連情報
MENU
© 鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�エ鬯ッ�ッ�ス�イ�ス�ス�ス�ス�ス�ス�ス�シ髯樊サゑスス�イ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�・鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�エ鬯ョ�ッ隴趣ス「�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ャ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ髣包スオ隴会スヲ�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ケ鬯ョ�ォ�ス�エ驕カ謫セ�ス�オ�ス�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�、�ス�ス�ス�ス�ス�ス�ス�シ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ケ鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�シ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�。鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ェ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ォ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ォ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�「鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ォ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�エ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ェ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ー鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ォ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�シ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ髫ー�ス邇�ソス�ュ鬮ョ�」�ス�ソ�ス�ス�ス�ス�ス�サ�ス�ス�ス�ス�ス�ス�ス�ク�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ェ鬯ッ�ッ�ス�ョ�ス�ス�ス�ッ鬮ョ蜈キ�ソ�ス�ス�ス�ス�キ鬮ッ貊会スク�サ�ス�・�ス�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ク鬯ッ�ョ�ス�」鬯イ�ス�シ螟イ�ス�ス�ス�ス�ス�ス�ス�ィ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�シ鬯ッ�ョ�ス�ッ髫カ轣假ス・�ス�ス�ス�ス�コ髯句ケ「�ソ�ス�ス�ス�ス�ス髫ー�ス竏橸ソス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�、�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�セ 2024
Privacy Policy  /  Trademarks