インテル® マス・カーネル・ライブラリー 11.2 ユーザーズガイド

カスタム共有オブジェクト・ビルダーの使用

カスタム共有オブジェクトをビルドするには、以下のコマンドを使用します。

make target [<オプション>]

以下の表は、target の設定可能な値と実行される内容を示しています。

内容

libia32

スタティック・バージョンのインテル® MKL インターフェイス・ライブラリー、スレッド・ライブラリー、コア・ライブラリーを使用して、IA-32 アーキテクチャー用のカスタム共有オブジェクトをビルドします。

libintel64

スタティック・バージョンのインテル® MKL インターフェイス・ライブラリー、スレッド・ライブラリー、コア・ライブラリーを使用して、インテル® 64 アーキテクチャー用のカスタム共有オブジェクトをビルドします。

soia32

シングル・ダイナミック・ライブラリー libmkl_rt.so を使用して、IA-32 アーキテクチャー用のカスタム共有オブジェクトをビルドします。

sointel64

シングル・ダイナミック・ライブラリー libmkl_rt.so を使用して、インテル® 64 アーキテクチャー用のカスタム共有オブジェクトをビルドします。

help

カスタム共有オブジェクト・ビルダーのヘルプを表示します。

<オプション> は、メイクファイルで使用するマクロを定義するパラメーターのリストを表します。 以下の表で、これらのパラメーターを説明します。

パラメーター [値]

説明

interface = {lp64|ilp64}

インテル® 64 アーキテクチャーのプログラミング・インターフェイス (LP64 または ILP64) を定義します。デフォルト値は lp64 です。

threading = {parallel|sequential}

インテル® MKL をマルチスレッド・モードとシーケンシャル・モードのどちらで使用するかを定義します。デフォルト値は parallel です。

export = <ファイル名>

共有オブジェクトに含まれるエントリーポイント関数のリストを含むファイルの完全な名前を指定します。 デフォルト名は、user_example_list (拡張子なし) です。

name = <so の名前>

作成するライブラリーの名前を指定します。 デフォルトでは、作成するライブラリーの名前は mkl_custom.soです。

xerbla = <エラーハンドラー>

ユーザーのエラーハンドラーを含むオブジェクト・ファイル <user_xerbla>.o の名前を指定します。 メイクファイルは、このエラーハンドラーをライブラリーに追加します。デフォルトのインテル® MKL エラーハンドラー xerbla の代わりに使用されます。 このパラメーターを省略すると、標準インテル® MKL エラーハンドラー xerbla が使用されます。 独自のエラーハンドラーの開発方法は、『インテル® MKL リファレンス・マニュアル』の xerbla 関数の説明を参照してください。

MKLROOT = <mkl ディレクトリー>

カスタム共用オブジェクトのビルドに使用するインテル® MKL ライブラリーの場所を指定します。 デフォルトでは、ビルダーはインテル® MKL インストール・ディレクトリーを使用します。

上記のすべてのパラメーターはオプションです。

最も簡単なコマンドは make ia32 (残りのパラメーターはデフォルト値) です。 この場合、IA-32 アーキテクチャー対応プロセッサー用の mkl_custom.so ライブラリーが作成されます。 user_list ファイルから関数のリストが取得され、標準インテル® MKL エラーハンドラー xerbla が使用されます。

以下は、より複雑な場合の例です。

make ia32 export=my_func_list.txt name=mkl_small xerbla=my_xerbla.o

この場合、IA-32 アーキテクチャー対応プロセッサー用の mkl_small.so ライブラリーが作成されます。 my_func_list.txt ファイルから関数のリストが取得され、ユーザーのエラーハンドラー my_xerbla.o が使用されます。

インテル® 64 アーキテクチャー対応プロセッサーの場合も処理はほぼ同様です。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804

関連情報


このヘルプトピックについてのフィードバックを送信