ターゲット・プラットフォーム |
ターゲットマシンのアーキテクチャーを特定します。
理由: インテル® MKL ライブラリーは、使用するアーキテクチャー (「サポートしているアーキテクチャー」を参照) に対応するディレクトリーにあるため、リンク行で適切なパスを指定する必要があります (「リンクの例」を参照)。 インテル® MKL を使用する開発環境を構成するには、使用するアーキテクチャーに対応するスクリプトを使用して環境変数を設定します (詳細は「環境変数の設定」を参照)。 |
算術問題 |
必要なインテル® MKL 関数ドメインをすべて特定します。
理由: 使用する関数ドメインを特定することで、『インテル® MKL リファレンス・マニュアル』でルーチンを検索する項目が少なくなります。 さらに、インテル® MKL クラスターを使用している場合、リンク行は関数ドメイン固有になります (「クラスター・ソフトウェアの使用」を参照)。 コーディングのヒントは、関数ドメインにより異なります (「パフォーマンスを向上させるためのヒントと手法」を参照)。 |
プログラミング言語 |
インテル® MKL は Fortran と C/C++ プログラミングの両方をサポートします。使用する関数ドメインでサポートされる言語インターフェイスを特定します (「インテル® マス・カーネル・ライブラリー言語インターフェイスのサポート」を参照)。 理由: インテル® MKL には、プログラム開発を容易にするため各関数ドメイン用に言語固有のインクルード・ファイルが用意されています (「言語インターフェイスのサポート、関数ドメイン別」を参照)。 言語固有のインターフェイス・ライブラリーとモジュールの一覧、および使用例は、「言語固有インターフェイスとインテル® MKL の使用」を参照してください。 |
整数データの範囲 |
インテル® 64 アーキテクチャー・ベースのシステムの場合、アプリケーションで大規模なデータ配列 (231-1 以上の要素を含む配列) の計算を実行するかどうかを決定します。 理由: 大規模なデータ配列を処理するには、ILP64 インターフェイス (整数が 64 ビット) を選択する必要があります。その他の場合は、デフォルトの LP64 インターフェイス (整数が 32 ビット) を使用します (「ILP64 インターフェイスと LP64 インターフェイスの使用」を参照)。 |
スレッド化モデル |
アプリケーションをスレッド化するかどうか、スレッド化する場合はその方法を決定します。
理由: アプリケーションのスレッド化に使用するコンパイラーにより、アプリケーションとリンクするスレッド化ライブラリーが決まります。サードパーティー製のコンパイラーを使用してアプリケーションをスレッド化する場合、インテル® MKL を逐次モードで使用する必要があります (詳細は、「ライブラリーの逐次モード」および「スレッド化ライブラリーのリンク」を参照)。 |
スレッド数 |
インテル® MKL で使用するスレッド数を決定します。 理由: インテル® MKL は、OpenMP* スレッド化をベースにしています。OpenMP ソフトウェアは、インテル® MKL が使用するスレッドの数を自動的に設定します。異なる数が必要な場合、プログラマーが数を設定する必要があります。詳細は、「インテル® パフォーマンス・ライブラリーの並列処理の使用」を参照してください。 |
リンクモデル |
アプリケーションとインテル® MKL ライブラリーをリンクする適切なリンクモデルを決定します。
理由: スタティック・リンクとダイナミック・リンクでリンク・ライブラリーは異なります。 スタティックおよびダイナミック・モデルのリンク・ライブラリーのリスト、リンクの例、その他の関連情報 (カスタム・ダイナミック・ライブラリーを作成してディスク容量を節約する方法など) は、「アプリケーションとインテル® マス・カーネル・ライブラリーのリンク」を参照してください。 |
使用する MPI |
インテル® MKL クラスターで使用する MPI を決定します。インテル® MPI 3.2 以降を使用することを強く推奨します。 理由: アプリケーションと ScaLAPACK やクラスター FFT をリンクする際に、使用する MPI に対応するライブラリーをリンク行で指定する必要があるためです (「クラスター・ソフトウェアの使用」を参照)。 |
© 2007 - 2010 Intel Corporation. 無断での引用、転載を禁じます。