インテル® マス・カーネル・ライブラリー 9.0
Windows* 版入門ガイド
 

資料番号: 310702-003J

目次

概要
はじめに
    ディレクトリー構造の概要
    ディレクトリー構造の詳細
インテル MKL の構成
インテル® Visual Fortran の構成
アプリケーションとインテル MKL のリンク
スレッド化
著作権と商標について

 

概要

本ガイドは、インストール後に実行する必要のある手順や簡単な使用例など、インテル® マス・カーネル・ライブラリー (インテル® MKL) Windows* 版の習得に役立つ情報を提供します。アプリケーションのライブラリーへのリンク方法、ライブラリーの構成方法、その他の基本的な手順について説明します。

本ガイドは、インテル MKL が既にマシンにインストールされていることを前提として説明しています。

製品をまだインストールしていない場合は、「インストール・ガイド」 (Install.htm ファイル) を参照してください。

 

はじめに

インテル MKL のインストール後、インストールとライブラリーの構成が適切に行われたかどうかを次の手順で確認すると良いでしょう。 

  1. 指定したインストール・ディレクトリーが作成されたか確認します。デフォルトは、C:\Program Files\intel\mkl\9.0 です。
  2. 複数のバージョンのインテル MKL をマシンにインストールしている場合は、ビルドスクリプトを更新して、使用するバージョンのインテル MKL を指定します。1 台のマシンに複数のバージョンのインテル MKL をインストールすることができますが、ベータ版はアンインストールしなければならない点に注意してください。
  3. 次の 3 ファイルが tools\environment ディレクトリーに配置されていることを確認します。
    mklvars32.bat
    mklvarsem64t.bat
    mklvars64.bat

    これらのファイルを使用して、ユーザーシェルで環境変数 PATHLIB、および INCLUDE を設定することができます。

 

ディレクトリー構造の概要

インストール後のインテル MKL のディレクトリー構造を以下に示します。

mkl\9.0 メイン・ディレクトリー
mkl\9.0\doc ドキュメント・ディレクトリー
  mklEULA.rtf インテル MKL ライセンス
  Doc_Index.htm インテル MKL ドキュメント・インデックス
  fftw2xmkl_notes.htm FFTW 2.x インターフェイス・サポート・テクニカル・ユーザー・ノート
  fftw3xmkl_notes.htm FFTW 3.x インターフェイス・サポート・テクニカル・ユーザー・ノート
  fft2dfti.pdf インテル MKL FFT から DFTI ラッパー・テクニカル・ユーザー・ノート
  Getting_Started.htm インテル MKL 入門ガイド (本ガイド)
  Install.htm インストール・ガイド
  mkl.chm インテル MKL リファレンス・マニュアルの HTML ヘルプバージョン
  mklman.pdf インテル MKL リファレンス・マニュアル
  mklman80_j.pdf インテル MKL リファレンス・マニュアル (日本語)
  mklqref/index.htm インテル MKL クイック・リファレンス
  mklsupport.txt サポート用のパッケージ ID 情報
  mkluse.htm インテル MKL テクニカル・ユーザー・ノート
  Readme.txt 製品に関する基本情報
  redist.txt 再配布可能なファイルの一覧
  Release_Notes.htm リリースノート
  vmlnotes.htm VML の概要
  vslnotes.pdf VSL の概要
mkl\9.0\examples ソースおよびデータ例
mkl\9.0\include ライブラリー・ルーチンの INCLUDE ファイル、テストの INCLUDE ファイル、プログラム例
mkl\9.0\interfaces\blas95 BLAS 用の f95 ラッパーとライブラリーのビルド用 makefile
mkl\9.0\interfaces\lapack95 LAPACK 用の f95 ラッパーとライブラリーのビルド用 makefile
mkl\9.0\interfaces\fftw2xc インテル MKL DFTI を呼び出す FFTW バージョン 2.x 用のラッパー (C インターフェイス)
mkl\9.0\interfaces\fftw2xf インテル MKL DFTI を呼び出す FFTW バージョン 2.x 用のラッパー (Fortran インターフェイス)
mkl\9.0\interfaces\fftw3xc インテル MKL DFTI を呼び出す FFTW バージョン 3.x 用のラッパー (C インターフェイス)
mkl\9.0\interfaces\fftw3xf インテル MKL DFTI を呼び出す FFTW バージョン 3.x 用のラッパー (Fortran インターフェイス)
mkl\9.0\interfaces\fftc インテル MKL DFTI を呼び出す FFT 用のラッパー (C インターフェイス)
mkl\9.0\interfaces\fftf インテル MKL DFTI を呼び出す FFT 用のラッパー (Fortran インターフェイス)
mkl\9.0\tests テストのソースおよびデータ
mkl\9.0\ia32\bin IA-32 アプリケーション用 DLL
mkl\9.0\ia32\lib IA-32 アプリケーション用スタティック・ライブラリーおよび IA-32 アプリケーション用 DLL に対するスタティック・インターフェイス
mkl\9.0\em64t\bin インテル® 64 プロセッサー上で実行されるアプリケーション用 DLL
mkl\9.0\em64t\lib インテル 64 プロセッサー上で実行される IA-32 アプリケーション用スタティック・ライブラリーおよびインテル 64 プロセッサー上で実行される IA-32 アプリケーション用 DLL に対するスタティック・インターフェイス
mkl\9.0\ia64\bin Itanium® 2 ベース・アプリケーション用 DLL
mkl\9.0\ia64\lib Itanium 2 ベース・アプリケーション用スタティック・ライブラリーおよび Itanium 2 ベース・アプリケーション用 DLL に対するスタティック・インターフェイス
mkl\9.0\tools\builder 動的にリンク可能なカスタム・ライブラリーを作成するためのツール
mkl\9.0\tools\environment ユーザーシェルで環境変数を設定するバッチファイル
mkl\9.0\tools\support インテル® プレミアサポートへパッケージ ID とライセンスキー情報を報告するためのユーティリティー

 

ディレクトリー構造の詳細

インテル MKL では、IA-32 プロセッサー用、インテル 64 プロセッサー用、およびインテル Itanium 2 プロセッサー用に、別々のライブラリーを用意しています。

インテル MKL は、次の 3 つで構成されています。

現在、IA-32 プロセッサー用に次の 2 つのライブラリーが用意されています。それぞれのライブラリーは、異なるインターフェイスをサポートします。

  1. mkl_c.lib  (cdecl インターフェイス)
  2. mkl_s.lib  (CVF デフォルト・インターフェイス)

インテル 64 プロセッサーおよび Itanium プロセッサーでは、関数呼び出しの基準が 1 つであるため、これらのインターフェイス・ライブラリーは用意されていません。ハイレベルなライブラリーは、特定のプロセッサーを対象とせずに最適化されているため、インテル® Pentium® プロセッサーからインテル® Core™2 Extreme プロセッサー・ファミリーやインテル Itanium 2 プロセッサーまでのプロセッサーで効果的に使用することができます。BLAS、CBLAS、スパース BLAS、GMP、FFT、DFT、VML、VSL、および区間演算ルーチンを含むプロセッサー固有のカーネルは、それぞれのプロセッサー用に最適化されています。

また、スレッド化アプリケーションは次のように提供されます。

ライブラリーの詳細なディレクトリー構造を次に示します。

ia32 32 ビット・アプリケーション用のすべてのライブラリー
ia32\bin IA-32 アプリケーション用 DLL
mkl_lapack32.dll 単精度データ型 LAPACK ルーチンおよびドライバー
mkl_lapack64.dll 倍精度データ型 LAPACK ルーチンおよびドライバー
mkl_def.dll デフォルトカーネル (インテル Pentium プロセッサー、インテル Pentium Pro プロセッサー、およびインテル Pentium II プロセッサー)
mkl_p3.dll インテル Pentium III プロセッサー・カーネル
mkl_p4.dll インテル Pentium 4 プロセッサー・カーネル
mkl_p4p.dll ストリーミング SIMD 拡張命令 3 (SSE3) 対応インテル Pentium 4 プロセッサー用カーネル
mkl_p4m.dll インテル Core マイクロアーキテクチャー・ベースのプロセッサー用カーネル
mkl_vml_def.dll デフォルトカーネルの VML 部分 (インテル Pentium プロセッサー、インテル Pentium Pro プロセッサー、インテル Pentium II プロセッサー)
mkl_vml_p3.dll インテル Pentium III プロセッサー用カーネルの VML 部分
mkl_vml_p4.dll インテル Pentium 4 プロセッサー用カーネルの VML 部分
mkl_vml_p4p.dll ストリーミング SIMD 拡張命令 3 (SSE3) 対応インテル Pentium 4 プロセッサー用 VML/VSL
mkl_vml_p4m.dll インテル Core マイクロアーキテクチャー・ベースのプロセッサー用 VML/VSL
mkl_ias.dll 区間演算ルーチン
libimalloc.dll メモリー関数名前変更サポート用ダイナミック・ライブラリー
libguide40.dll ダイナミック・スレッディング・ライブラリー
MSVCR71.DLL Microsoft* ランタイム・ライブラリー
ia32\lib 32 ビット・アプリケーション用スタティック・ライブラリーおよび 32 ビット・アプリケーション用 DLL に対するスタティック・インターフェイス
mkl_c.lib cdecl インターフェイス・ライブラリー
mkl_s.lib CVF デフォルト・インターフェイス・ライブラリー
mkl_c_dll.lib ダイナミック・ライブラリー用 cdecl インターフェイス・ライブラリー
mkl_s_dll.lib ダイナミック・ライブラリー用 CVF デフォルト・インターフェイス・ライブラリー
mkl_lapack.lib LAPACK ルーチンおよびドライバー
mkl_solver.lib スパース・ソルバー・ルーチン
mkl_ia32.lib 32 ビット・アプリケーション用に最適化されたカーネル (BLAS、CBLAS、スパース BLAS、GMP、FFT、DFT、VML、VSL、区間演算)
libguide40.lib ダイナミック・スレッディング・ライブラリー用インターフェイス・ライブラリー
libguide.lib スタティック・スレッディング・ライブラリー
 
  interfaces フォルダーにある makefile を処理すると、追加のインターフェイス・ライブラリーが生成されます。セクションの最後にあるリストを参照。
     
em64t インテル 64 対応アプリケーション用のすべてのライブラリー
em64t\bin インテル 64 対応アプリケーション用 DLL
mkl_lapack32.dll 単精度データ型 LAPACK ルーチンおよびドライバー
mkl_lapack64.dll 倍精度データ型 LAPACK ルーチンおよびドライバー
mkl_def.dll インテル 64 プロセッサー用デフォルトカーネル
mkl_p4n.dll インテル 64 対応インテル® Xeon® プロセッサー用カーネル
mkl_mc.dll インテル Core マイクロアーキテクチャー・ベースのプロセッサー用カーネル
mkl_vml_def.dll インテル 64 プロセッサー用デフォルトカーネルの VML 部分
mkl_vml_p4n.dll インテル 64 対応インテル Xeon プロセッサー用 VML/VSL
mkl_vml_mc.dll インテル Core マイクロアーキテクチャー・ベースのプロセッサー用 VML/VSL
mkl_ias.dll 区間演算ルーチン
libimalloc.dll メモリー関数名前変更サポート用ダイナミック・ライブラリー
libguide40.dll ダイナミック・スレッディング・ライブラリー
em64t\lib インテル 64 プロセッサー用スタティック・ライブラリーおよびインテル 64 プロセッサー用 DLL に対するスタティック・インターフェイス
mkl_dll.lib ダイナミック・ライブラリー用インターフェイス・ライブラリー
mkl_lapack.lib LAPACK ルーチンおよびドライバー
mkl_solver.lib スパース・ソルバー・ルーチン
mkl_em64t.lib インテル 64 プロセッサー用に最適化されたカーネル (BLAS、cblas、スパース BLAS、GMP、FFT、DFT、VML、VSL、区間演算)
libguide40.lib ダイナミック・スレッディング・ライブラリー用インターフェイス・ライブラリー
libguide.lib スタティック・スレッディング・ライブラリー
 
  interfaces フォルダーにある makefile を処理すると、追加のインターフェイス・ライブラリーが生成されます。セクションの最後にあるリストを参照。
     
ia64 Itanium 2 ベース・アプリケーション用のすべてのライブラリー
ia64\bin Itanium 2 ベース・アプリケーション用 DLL
mkl_lapack32.dll 単精度データ型 LAPACK ルーチンおよびドライバー
mkl_lapack64.dll 倍精度データ型 LAPACK ルーチンおよびドライバー
mkl_i2p.dll Itanium 2 プロセッサー用カーネル
mkl_vml_i2p.dll Itanium 2 プロセッサー用カーネルの VML 部分
mkl_ias.dll 区間演算ルーチン
libimalloc.dll メモリー関数名前変更サポート用ダイナミック・ライブラリー
libguide40.dll スレッディング・ライブラリー
ia64\lib Itanium 2 ベース・アプリケーション用スタティック・ライブラリーおよび Itanium 2 ベース・アプリケーション用 DLL に対するスタティック・インターフェイス
mkl_dll.lib DLL に対するインターフェイス・ライブラリー
mkl_lapack.lib LAPACK ルーチンおよびドライバー
mkl_solver.lib スパース・ソルバー・ルーチン
mkl_ipf.lib Itanium 2 プロセッサー用カーネル (BLAS、cblas、スパース BLAS、GMP、FFT、DFT、VML、VSL、区間演算)
libguide40.lib ダイナミック・スレッディング・ライブラリー用インターフェイス・ライブラリー
libguide.lib スタティック・スレッディング・ライブラリー

以下のインターフェイス・ライブラリーとモジュールは、interfaces フォルダーにある makefile を処理すると生成されます。

libmkl_blas95.lib BLAS 用の Fortran-95 ラッパー (BLAS95)
libmkl_lapack95.lib LAPACK 用の Fortran-95 ラッパー (LAPACK95)
libfftw2xc_gnu.lib インテル MKL DFTI を呼び出す FFTW バージョン 2.x 用のインターフェイス (GNU コンパイラー用 C インターフェイス)
libfftw2xc_intel.lib インテル MKL DFTI を呼び出す FFTW バージョン 2.x 用のインターフェイス (インテル・コンパイラー用 C インターフェイス)
libfftw2xf_gnu.lib インテル MKL DFTI を呼び出す FFTW バージョン 2.x 用のインターフェイス (GNU コンパイラー用 Fortran インターフェイス)
libfftw2xf_intel.lib インテル MKL DFTI を呼び出す FFTW バージョン 2.x 用のインターフェイス (インテル・コンパイラー用 Fortran インターフェイス)
libfftw3xc_gnu.lib インテル MKL DFTI を呼び出す FFTW バージョン 3.x 用のインターフェイス (GNU コンパイラー用 C インターフェイス)
libfftw3xc_intel.lib インテル MKL DFTI を呼び出す FFTW バージョン 3.x 用のインターフェイス (インテル・コンパイラー用 Fortran インターフェイス)
libfftw3xf_gnu.lib インテル MKL DFTI を呼び出す FFTW バージョン 3.x 用のインターフェイス (GNU コンパイラー用 Fortran インターフェイス)
libfftw3xf_intel.lib インテル MKL DFTI を呼び出す FFTW バージョン 3.x 用のインターフェイス (インテル・コンパイラー用 Fortran インターフェイス)
mkl95_blas.mod BLAS 用の Fortran-95 インターフェイス・モジュール (BLAS95)
mkl95_lapack.mod LAPACK 用の Fortran-95 インターフェイス・モジュール (LAPACK95)
mkl95_precision.mod BLAS95 および LAPACK95 用精度パラメーターの Fortran-95 定義

 

インテル MKL の構成

インテル MKL のインストール時に、指定したインストール・ディレクトリーを環境変数 PATH、LIB、INCLUDE に設定できます。
インストール後、tools\environment ディレクトリーにあるファイル mklvars32.bat、mklvarsem64t.bat、mklvars64.bat を使用して、ユーザーシェルで環境変数を設定できます。

インテル MKL の機能をさらにカスタマイズする場合は、構成ファイル mkl.cfg を使用します。このファイルには、変更可能な変数が含まれています。構成ファイルの使用に関する詳細は、「テクニカル・ユーザー・ノート 」を参照してください。

 

アプリケーションとインテル MKL のリンク

IA-32 アプリケーション、インテル 64 対応アプリケーション、または Itanium 2 ベース・アプリケーションをリンクする場合、1 つのライブラリーのみをリンクします。IA-32 アプリケーションの場合、選択したインターフェイスに応じて mkl_c.lib または mkl_s.lib をリンクします。
インテル 64 対応アプリケーション、Itanium 2 ベース・アプリケーションでは、それぞれ mkl_em64t.lib mkl_ipf.lib をリンクします。同様に、動的にリンクするときに、DLL へのインターフェイスを提供する次のスタティック・ライブラリーの 1 つを使用してもかまいません。

mkl_c_dll.lib または mkl_s_dll.lib (IA-32 アプリケーションの場合)
mkl_dll.lib (インテル 64 対応アプリケーションおよび Itanium 2 ベース・アプリケーションの場合)

これらのインターフェイス・ライブラリーはランタイム時に DLL をロードするため、ソースコードを変更する必要はありません。

コマンドラインで入力する各対応アーキテクチャー用のライブラリー、mkl_lapack95.libmkl_blas95.lib は、オリジナルのディストリビューションには含まれないため、インターフェイスを使用する前にビルドする必要があります (ライブラリーのビルドについての詳細は、次の「Fortran-95 インターフェイスおよび LAPACK と BLAS へのラッパーを使用する際の注意」を参照してください)。

インテル® Fortran コンパイラー 9.1 と CVF を使用した場合の例を以下に示します。

 

IA-32

ifort myprog.f mkl_c.lib libguide.lib
ユーザーコード myprog.f、スパースソルバー、LAPACK、カーネルのスタティック・リンク用 cdecl インターフェイス。
ifort myprog.f mkl_lapack95.lib mkl_c.lib libguide.lib
ユーザーコード myprog.f、Fortran-95 LAPACK インターフェイス、カーネルのスタティック・リンク用 cdecl インターフェイス。
ifort myprog.f mkl_blas95.lib mkl_c.lib libguide.lib
ユーザーコード myprog.f、Fortran-95 BLAS インターフェイス、カーネルのスタティック・リンク用 cdecl インターフェイス。
df myprog.f mkl_s.lib libguide.lib
ユーザーコード myprog.f、スパースソルバー、LAPACK、カーネルのスタティック・リンク用 CVF デフォルト・インターフェイス。
ifort myprog.f mkl_c_dll.lib libguide40.lib
ユーザーコード myprog.f のダイナミック・リンク用 cdecl インターフェイス。DLL ディスパッチャーにより、プロセッサーのダイナミック・カーネルに対して適切な DLL がロードされます。
df myprog.f mkl_s_dll.lib libguide40.lib
ユーザーコード myprog.f のダイナミック・リンク用 CVF デフォルト・インターフェイス。DLL ディスパッチャーにより、プロセッサーのダイナミック・カーネルに対して適切な DLL がロードされます。

 

インテル 64

ifort myprog.f mkl_em64t.lib libguide.lib
ユーザーコード myprog.f、LAPACK、カーネルのスタティック・リンク。
ifort myprog.f mkl_lapack95.lib mkl_em64t.lib libguide.lib
ユーザーコード myprog.f、Fortran-95 LAPACK インターフェイス、カーネルのスタティック・リンク。
ifort myprog.f mkl_blas95.lib mkl_em64t.lib libguide.lib
ユーザーコード myprog.f、Fortran-95 BLAS インターフェイス、カーネルのスタティック・リンク。
ifort myprog.f mkl_dll.lib libguide40.lib
ユーザーコード myprog.f のダイナミック・リンク。DLL ディスパッチャーにより、プロセッサーのダイナミック・カーネルに対する適切な DLL がロードされます。
ifort myprog.f mkl_solver.lib mkl_em64t.lib libguide.lib
ユーザーコード myprog.f、スパースソルバーおよび (スパースソルバーをサポートするのに必要なカーネルを含む) インテル MKL のその他のルーチンのスタティック・リンク。

 

インテル Itanium 2 プロセッサー・プラットフォーム

ifort myprog.f mkl_ipf.lib libguide.lib
ユーザーコード myprog.f、LAPACK、カーネルのスタティック・リンク。
ifort myprog.f mkl_lapack95.lib mkl_ipf.lib libguide.lib
ユーザーコード myprog.f、Fortran-95 LAPACK インターフェイス、カーネルのスタティック・リンク。
ifort myprog.f mkl_blas95.lib mkl_ipf.lib libguide.lib
ユーザーコード myprog.f、Fortran-95 BLAS インターフェイス、カーネルのスタティック・リンク。
ifort myprog.f mkl_dll.lib libguide40.lib
ユーザーコード myprog.f のダイナミック・リンク。DLL ディスパッチャーにより、プロセッサーのダイナミック・カーネルに対して適切な DLL がロードされます。
ifort myprog.f mkl_solver.lib mkl_ipf.lib libguide.lib
ユーザーコード myprog.f、スパースソルバーおよび (スパースソルバーをサポートするのに必要なカーネルを含む) インテル MKL のその他のルーチンのスタティック・リンク。

注意: libguide を静的にリンクする場合 (非推奨)

インテル MKL に動的にリンクする場合 (libguide40.dll) (推奨)、PATH が定義されていることを確認し、正確にこのバージョンの libguide が検出され、ランタイム時に使用されるようにしてください。

注意:

本リリースでは、次のライブラリーは、インテル 64 およびインテル Itanium 2 プロセッサー・プラットフォーム用のデフォルト・ライブラリーには含まれていません。

このライブラリーは、上記の例に示すようにリンクする必要があります。

リンク例は、インテル MKL サポート Web サイトよりご覧いただけます。 http://support.intel.com/support/jp/performancetools/index.htm

 

Fortran-95 インターフェイスおよび LAPACK と BLAS へのラッパーを使用する際の注意

Fortran-95 インターフェイスは、純粋なプロシージャーのために、ラッパーとともにソースとして提供されます。これらを使用する最も簡単な方法は、対応するライブラリーをビルドし、ユーザー・ライブラリーとしてリンクする方法です。この方法では、ユーザーは管理者権限を保持していることが前提です。製品ディレクトリーに書き込み権限があれば、手順は簡単です。mkl\9.0\interfaces\blas95 または mkl\9.0\interfaces\lapack95 に移動し、次のコマンドのいずれかを入力します。

nmake PLAT=win32 lib       - IA32 の場合
nmake PLAT=win32e lib     - インテル 64 の場合
nmake PLAT=win64 lib       - インテル Itanium 2 プロセッサー・プラットフォームの場合

この結果、必要なライブラリーと .mod ファイルがビルドされ、リリースの標準カタログにインストールされます。.mod ファイルは、ifort -c mkl_lapack.f90 インターフェイスまたは ifort -c mkl_blas.f90 インターフェイスのファイルからも入手できます。ファイルは include ディレクトリーに保存されています。
管理者権限がない場合は、次の操作を行ってください。

  1. ディレクトリー全体 (mkl\9.0\interfaces\blas95 または mkl\9.0\interfaces\lapack95) をユーザー定義のディレクトリー <user_dir> にコピーします。
  2. 対応するファイル (mkl_blas.f90 または mkl_lapack.f90) を mkl\9.0\include からユーザー定義のディレクトリー <user_dir>\blas95 または <user_dir>\lapack95 にそれぞれコピーします。
  3. <user_dir>\blas95 または <user_dir>\lapack95 で環境変数を追加し、上記コマンドを実行します。例を以下に示します。
    nmake PLAT=win32 INTERFACE=mkl_blas.f90 lib
    nmake PLAT=win32 INTERFACE=mkl_lapack.f90 lib.

これで、必要なライブラリーと .mod ファイルがビルドされ、それぞれ <user_dir>\blas95 ディレクトリーまたは <user_dir>\lapack95 ディレクトリーにインストールされます。

デフォルトでは、ifort コンパイラーが使用されると想定されています。make FC=<compiler> のパラメーターでこれを変更することができます。例を以下に示します。
nmake PLAT=win64 FC=<compiler> lib

上級ユーザーの場合は、ライブラリーをビルドしなくてもインターフェイスを使用することができます。

ビルド・ディレクトリーからライブラリーを削除するには、次のコマンドを使用します。
nmake PLAT=win32 clean       - IA32 の場合
nmake PLAT=win32e clean     - インテル 64 の場合
nmake PLAT=win64 clean       - インテル Itanium 2 プロセッサー・プラットフォームの場合

 

インテル 64 対応アプリケーションおよび Itanium 2 ベース・アプリケーションの場合の注意

1289 以降の新しい SDK には、外部参照 _security_cookie を解決する bufferoverflowu.lib が含まれています。このライブラリーは、"BUF_LIB=bufferoverflowu.lib" マクロとともに、例とテストの makefile に含まれます。古い SDK を使用する場合は、このマクロを空にする ("BUF_LIB=") か、またはリンク文字列から削除します。

 

スレッド化

インテル MKL は、多くの個所でスレッド化されています。また、OpenMP* ソフトウェアを使用しています。

OpenMP ソフトウェアは、使用するスレッド数を設定する OMP_NUM_THREADS 環境変数を基にスレッド化を実行します。スレッド数の設定は、環境変数で設定 (Microsoft Windows の [コントロール パネル] から [システムのプロパティ] ボックスを開き、[環境変数] パネルで設定) するか、またはプログラムを実行するシェルで設定することができます。

変数 OMP_NUM_THREADS が設定されていない場合、インテル MKL はスレッド数を 1 として実行します (ただし、スパースソルバーの場合は、デフォルトのスレッド数であるシステムのプロセッサー数が使用されます)。OMP_NUM_THREADS は、常にアプリケーションで使用するプロセッサー数に設定しておくことを推奨します。

1D FFT における 2 の累乗データについては、インテル MKL はインテル Itanium プロセッサー用にのみ並列化を行うことに注意してください。

スレッド数を変更するには、プログラムを実行するコマンドライン・シェルで次のように入力します。

set OMP_NUM_THREADS=<使用するスレッド数>

シェルによっては、以下のように設定します。

export OMP_NUM_THREADS=<使用するスレッド数>

Microsoft Windows 98 または Windows Me ではマルチプロセッシングがサポートされていないため、この変数を設定してもその利点を得ることはできない点に注意してください。


インテル MKL のテクニカル情報に関する詳細は、「テクニカル・ユーザー・ノート 」 (mkluse.htm) を参照してください。


 

著作権と商標について

本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するためのものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む) にも一切応じないものとします。インテル製品は、医療、救命、延命措置、重要な制御または安全システム、核施設などの目的に使用することを前提としたものではありません。
インテル製品は、予告なく仕様や説明が変更される場合があります。

本資料で説明されているソフトウェアには、不具合が含まれている可能性があり、公開されている仕様とは異なる動作をする場合があります。現在までに判明している不具合の情報については、インテルのサポートサイトをご覧ください。

本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。本資料で提供される情報は、情報供与のみを目的としたものであり、予告なく変更されることがあります。また、本資料で提供される情報は、インテルによる確約と解釈されるべきものではありません。インテルは本資料の内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれていたとしても一切責任を負わないものとします。

ライセンス契約で許可されている場合を除き、インテルからの文書による承諾なく、本書のいかなる部分も複製したり、検索システムに保持したり、他の形式や媒体によって転送したりすることは禁じられています。

機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を開発の前提にしないでください。留保または未定義の機能を不適当な方法で使用すると、開発したソフトウェア・コードをインテル・プロセッサー上で実行する際に、予測不可能な動作や障害が発生するおそれがあります。これらの機能や命令は、インテルが将来のために留保しているものです。不正な使用により、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。

Intel、インテル、Intel ロゴ、Intel Core、Itanium、Pentium、Xeon は、米国およびその他の国における Intel Corporation またはその子会社の商標または登録商標です。

* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

© 2005-2006 Intel Corporation.