インテル® Fortran コンパイラー 10.1 Mac OS* X 版
リリースノート

目次

概要

インテル® Fortran コンパイラー 10.1 Mac OS X 版は、Mac OS X を実行しているインテル® プロセッサー・ベースの Mac システムで極めて高速に動作する Fortran アプリケーションを生成します。インテル® Fortran は、Fortran 2003 規格のさまざまな機能に加え、一般的な言語拡張に幅広く対応した完全な Fortran 95 コンパイラーです また、OpenMP* に対応し、自動並列化機能も備えるなど、マルチスレッド・コードの開発もサポートしています。

製品の内容

この製品には 2 つのエディションがあります。

スタンダード・エディションには、以下のコンポーネントが含まれます。

プロフェッショナル・エディションには、スタンダード・エディションのすべての機能に加えて、インテル® マス・カーネル・ライブラリー (インテル® MKL) が含まれています。インテル® MKL には、最大限のパフォーマンスを必要とする工学、科学、金融系アプリケーション向けに高度に最適化およびスレッド化された数値演算関数が含まれています。

注: インテル® Fortran コンパイラーのデフォルトのインストール・パスは、/opt/intel/fc/10.1.xxx (32 ビット) または/opt/intel/fce/10.1.xxx (64 ビット) です。ここで、xxx は 3 桁のビルド番号です。このドキュメントでは、デフォルトのインストール・パスを <install-dir> として表記しています。

コンパイラーのインストールとは別に、インテル® MKL のインストールが必要です。詳細は、インテル® MKL のインストール・ガイドを参照してください。

テクニカルサポートを受けたり、製品のアップデート・モジュールを入手するには、製品を登録する必要があります。製品の登録方法は、この後にある「テクニカルサポート」セクションを参照してください。

バージョン 10.0 および 10.1 の新機能

このセクションでは、インテル® Fortran コンパイラー 10.0 以降の新機能および変更点について説明します。インテル® デバッガーのリリースノートも参照してください。

変更および追加されたコマンドライン・オプション

以下に、バージョン 9.1 の最初のリリースから変更または追加されたコマンドライン・オプションをリストします。これらのオプションの詳細な情報は、コンパイラーのドキュメントを参照してください。

-assume [no]old_boz
INT、REAL、DBLE、および CMPLX 組み込み関数の引数として、2 進、8 進、および 16 進の定数の処理方法を制御します。「Fortran 2003 規格の動作に関する注意事項」を参照してください。(デフォルト: -assume:noold_boz)
-assume [no]old_unit_star
ユニット、ACCEPT、PRINT、および TYPE への入出力の処理方法を制御します。「Fortran 2003 規格の動作に関する注意事項」を参照してください。(デフォルト: -assume:old_unit_star)
-assume protect_parens
REAL および COMPLEX の式評価で、演算の関連付けを変更せずに、括弧を考慮に入れて最適化するかどうかを指定します。
-assume [no]realloc_lhs
代入の左辺の割り当て可能なオブジェクトを Fortran 95/90 規則と Fortran 2003 規則のどちらに従って処理するかを決定します。「Fortran 2003 規格の動作に関する注意事項」を参照してください。(デフォルト: オフ)
-assume [no]std_mod_proc_name
ユーザー外部シンボル名と競合するモジュール・プロシージャー名を許可するかどうかを決定します。下記の説明を参照してください。(デフォルト: オフ)
-check [no]pointer
ヌルポインターや割り付けられていない ALLOCATABLE 変数によるアクセスのランタイムチェックを有効または無効にします。(デフォルト: オフ)
-cxxlib-nostd
コンパイラーが標準 C++ ライブラリーにリンクしないようにします。(デフォルト: オフ)
-diag-<type> <diag-list>
診断情報の表示を制御します。(デフォルト: オフ)
-diag-dump
有効なすべての診断メッセージを出力して、コンパイルを停止するようコンパイラーに指示します。(デフォルト: オフ)
-diag-enable sv[1|2|3]
スタティックの検証を有効にします。(デフォルト: オフ)
-diag-enable sv-include
スタティックの検証でインクルード・ファイルも解析対象とします。
-diag-file[=file]
診断解析の結果をファイルに出力します。(デフォルト: オフ)
-diag-file-append[=file]
診断解析の結果をファイルに追加します。(デフォルト: オフ)
-[no-]diag-id-numbers
メッセージ ID を使用して、診断メッセージを表示するようコンパイラーに指示します。(デフォルト: オン)
-f[no-]align-functions[=n]
最適なバイト境界に関数をアラインするようコンパイラーに指示します。(デフォルト: オフ)
-fast
パフォーマンスを向上させるオプションのセットを有効にします。本リリースでは、オプションが変更されています。下記の説明を参照してください。
-f[no-]instrument-functions
関数のエントリーポイントと終了ポイントをインストルメントするかどうかを指定します。(デフォルト: オフ)
-f[no]-keep-static-consts
ソースで参照されない変数の割り当てを保持するようコンパイラーに指示します。(デフォルト: オフ)
-fp-speculation=<mode>
浮動小数点演算のスペキュレーションを行うモードをコンパイラーに指示します。(デフォルト: fast)
-gdwarf-2
DWARF2 形式を使用して、デバッグ情報を生成します。 (デフォルト: オフ)
-heap-arrays[-]
自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上に割り当てるように指示します。
-help [category]
利用可能なすべてのコンパイラー・オプションまたはコンパイラー・オプションのカテゴリーを表示します。(デフォルト: オフ)
-ipo-jobs<n>
プロシージャー間の最適化 (IPO) のリンクフェーズで、同時に実行するコマンド (ジョブ) の数を指定します。
-m32
32 ビット・システム向けにコードを生成するようコンパイラーに指示します。(デフォルト: オフ)
-m64
64 ビット・システム向けにコードを生成するようコンパイラーに指示します。(デフォルト: オフ)
-msse3
SSE3 命令をサポートするインテル® プロセッサー向けにコードを生成するようコンパイラーに指示します。(デフォルト: 32 ビットの場合はオフ、64 ビットの場合はオン)
-[no-]opt-multi-version-aggressive
ポインターのエイリアスとスカラー置換の確認に強力なマルチバージョンを使用するようコンパイラーに指示します。(デフォルト: オフ)
-opt-ra-region-strategy [=keyword]
レジスター・アロケーターが各ルーチンを領域へ分割するために使用する方法を選択します。(デフォルト: default)
-opt-streaming-stores keyword
最適化用のストリーミング・ストアの生成を有効にします。(デフォルト: auto)
-[no-]par-runtime-control
シンボリック・ループ境界のあるループのランタイムチェックを実行するコードを生成します。(デフォルト: オフ)
-par-schedule-<keyword>[[]n]
DO ループのスケジューリング・アルゴリズムを指定します。
-save-temps[-]
コンパイル時に作成される中間ファイルを保存するようコンパイラーに指示します。(デフォルト: オフ)
-shared-intel
インテルが提供するライブラリーをすべて動的にリンクします。(デフォルト: オフ)
-static-intel
インテルが提供するライブラリーをすべて静的にリンクします。(デフォルト: オフ)
-std または -stand
-std03 または -stand f03 と同じです。以前のバージョンから変更されました。(デフォルト: オフ)
-std03 または -stand f03
Fortran 2003 規格に準拠していないソース構文に対して、警告を発行するようにコンパイラーに指示します。(デフォルト: オフ)
-tcheck [<mode>]
OpenMP マルチスレッド・アプリケーションの解析方法を指定します。(デフォルト: オフ)
-[no-]unroll-aggressive
小さな一定のトリップカウントのループに完全なアンロールを使用するようコンパイラーに指示します。(デフォルト: オフ)
-[no-]vec-guard-write
ベクトル化されたループで条件チェックを実行するようコンパイラーに指示します。(デフォルト: オフ)

推奨されていない (古い) コマンドライン・オプションおよび削除されたコマンドライン・オプション

推奨されていない (現在はサポートされているが、将来のバージョンでは削除される予定の) コマンドライン・オプション、または削除された (サポートが終了した) コマンドライン・オプションの詳細は、ドキュメントの「コンパイラー・オプション」 > 「推奨されていないコンパイラー・オプション (古いオプション) と削除されたコンパイラー・オプション」を参照してください。

-fast の変更

-fast オプションは、一般的にランタイム・パフォーマンスを向上させるオプションのセットを指定するための簡単な方法です。ドキュメントに記載されているように、オプションのセットは変更されることがあります。-fast は、バージョン 10.0 では -xT を設定しますが、以前のバージョンでは -xP を設定します。この変更により不都合が生じる場合は、-fast を使用する代わりに、各オプションを個別に設定する必要があります。詳細は、ドキュメントの「コンパイラー・オプション」を参照してください。

-stand の変更

バージョン 10.1 では、キーワードなしで -stand オプションを指定すると、-stand:f03 または Fortran 2003 規格に対する適合性のチェックとして処理されます。Fortran 90 または Fortran 95 への適合性をチェックする場合は、-stand:f90 または -stand:f95 を指定してください。-std-stand は同じです。『Intel® Fortran Language Reference』(英語) は、まだ Fortran 2003 の機能を Fortran 95 の拡張機能として説明しています。

代替コマンドライン・オプション

多くのコマンドライン・オプションでは、オプション名でハイフン ("-") の代わりに、古い記述方法の下線 ("_") を使用しています。この古い記述方法は、まだ有効です。

64 ビット インテル® プロセッサー・ベースの Mac システム

このバージョンには、インテル® 64 対応プロセッサー・ベースの Mac システム向けにコードを生成するコンパイラーと、IA-32 プロセッサー・ベースの Mac システム向けにコードを生成するコンパイラーが含まれています。

Fortran 2003 規格の動作

Fortran 2003 では、以前の規格では拡張機能であった言語機能と、定義されていなかった言語機能の動作が定義されています。インテル® Fortran コンパイラー 10.1 は Fortran 2003 を完全にサポートしていませんが、以前のバージョンでは異なる動作を使用していた以下の場合において、Fortran 2003 規格の動作を採用しています。それ以外のケースでは、コンパイラーのデフォルトは変更されていません。以下に具体的な動作について説明します。

割り当て可能なオブジェクトへの代入

Fortran 95 では、割り当て可能な配列へ代入するには、代入の左辺と右辺の形状および長さパラメーターが一致している必要があります。Fortran 2003 では、形状と長さパラメーターが一致していない場合、代入されている変数の割り当ては解除され、代入されている式と一致する形状と長さパラメーターに再度割り当てられます。バージョン 10.1 では、Fortran 2003 の動作を実行することもできますが、パフォーマンスが大幅に損なわれるため、デフォルトでは形状と長さのパラメーターが一致していなければならない Fortran 95 の動作を選択しています。形状の一致していない変数の割り当てを解除して再度割り当てる Fortran 2003 の動作を選択する場合は、-assume realloc_lhs を指定してください。

2 進、8 進、および 16 進の定数

Fortran 95 では、2 進、8 進、および 16 進の定数 (BOZ 定数) は DATA 文でのみ使用可能で、整数型のスカラー変数の初期化に限定されていました。Fortran 95 の拡張として、インテル® Fortran コンパイラーでは、コンテキストでの BOZ 定数の使用を許可し、コンテキストにより型を解釈していました。Fortran 2003 では、数値型の初期化に加え、INT、REAL、DBLE、および CMPLX 組み込み関数の引数に BOZ 定数を使用することができます。

BOZ 定数の使用に対する Fortran 2003 のセマンティクスは、INT、REAL、DBLE、および CMPLX 組み込み関数の引数として使用する場合を除き、以前のバージョンのインテル® Fortran コンパイラーの拡張と同じです。組み込み関数の引数として BOZ 定数を使用する場合、Fortran 2003 では、組み込み関数によって返されるデータ型のバイナリー値として直接解釈しています。一方、以前のバージョンのインテル® Fortran コンパイラーでは、符号付整数値として解釈してから変換しています。

次に例を示します。

print *, real(Z'40490FDB')

以前の動作 (-assume:old_boz) は 1.0785300E+09 を出力しますが、新しい動作 (-assume:noold_boz) は 3.141593 を出力します。

バージョン 10.0 では、インテル® Fortran コンパイラーのデフォルトの動作は Fortran 2003 と同じで、変換せずにバイナリー値を渡します。アプリケーションで以前の動作が必要な場合は、-assume:old_boz オプションを使用してコンパイルしてください。

デフォルトの I/O ユニット

インテル® Fortran コンパイラーでは、デフォルトで、I/O ユニットおよび ACCEPT 文、PRINT 文、TYPE 文で使用される暗黙的なユニットに、OPEN 文で指定される可能性があるユニット 5 またはユニット 6 以外のユニット番号が関連付けられています。Fortran 2003 では、デフォルトのユニットに対して OPEN を使用できますが、インテル® Fortran コンパイラーはこの動作に対応していません。

バージョン 10.0 では、この動作に対応するために、-assume:[no]old_unit_star コンパイル・コマンド・オプションが追加されました。デフォルトの -assume:old_unit_star は、ユニットにユニット 5 およびユニット 6 以外を使用するという現在および以前の動作を引き継いでいます。Fortran 2003 規格の動作を使用する場合、または Fortran 2003 の組み込みモジュール ISO_FORTRAN_ENV およびその定義済み定数 INPUT_UNITOUTPUT_UNIT を使用する場合は、-assume:noold_unit_star を指定して、ユニット (および ACCEPTPRINTTYPE) にユニット 5 (入力) とユニット 6 (出力) を使用できます。

この動作のデフォルトは、将来のリリースで変更されることがあります。

RECL= 書式なしファイルの単位

インテル® Fortran コンパイラー 10.0 では、バージョン 8.x および 9.x と同様、書式なし I/O でファイルを開く場合、OPEN 文の RECL= キーワードには、デフォルトの整数のサイズである 4 バイトが指定されます。以前の Fortran 規格では、RECL= 単位は実装依存とされていましたが、Fortran 2003 では 1 桁のバイト単位を推奨しています。書式なし I/O の RECL= 単位にバイトを指定するには、-assume:byterecl コンパイラー・オプションを使用します。アプリケーションで組み込みモジュール ISO_FORTRAN_ENV の名前付き定数 FILE_STORAGE_SIZE を使用している場合も、このコンパイラーオプションを使用する必要があります。

.XOR. 組み込み演算子

インテル® Fortran コンパイラーは、組み込み演算子 .XOR. を拡張として定義します。この結果、組み込み演算子と同じ名前で優先順位が異なるユーザー定義演算子との間で競合が発生します。独自の演算子 .XOR. を定義している場合は、-assume no_old_xor を指定して、コンパイラーの組み込み演算子としての .XOR. の定義を無効にすることができます。

モジュール・プロシージャーと変数用のグローバルシンボル

インテル® Fortran コンパイラーは、モジュール名とプロシージャーまたは変数名をセパレーター "_mp_" と組み合わせ、標準の名前修飾規則を適用して、モジュール・プロシージャーと変数のグローバル名を作成します。例えば、モジュール MYMOD のプロシージャー SUB のグローバル名は MYMOD_mp_SUB です。この方法では、名前に文字列 _mp_ を含むユーザー・プロシージャーとグローバル名が競合することがあります。アプリケーションでこの競合が発生した場合、オプション -assume noold_mod_proc_name を指定してください。このオプションは、セパレーターの大文字と小文字を変換してデフォルトの名前と逆になるようにします。名前の一貫性を保つために、アプリケーション全体で同じオプションを指定する必要があります。

ストリーム I/O (Fortran 2003 の機能)

バージョン 10.1 は、ファイルをバイトのストリームとして読み書きできる Fortran 2003 ストリーム I/O 機能をサポートします。ストリームアクセスを有効にするには、ACCESS='STREAM' を指定してファイルを開いてください。READ および WRITE 文は、ファイルの位置を指定する POS= キーワードをサポートします。詳細は、『Intel® Fortran Language Reference』(英語) を参照してください。

RECORDTYPE='STREAMxx' の動作の変更

インテル® Fortran コンパイラーは、OPEN 文で RECORDTYPE 値 STREAM、STREAM_CR および STREAM_LF を拡張としてサポートしています。以前のバージョンでは、ドキュメントと実装のどちらも不正確で、この 2 つに一貫性がありませんでした。古い動作は次のとおりです。

RECORDTYPE='STREAM'
書き込み時には、区切り文字として LF を使用しました。入力時は、区切り文字を認識しませんでした。
RECORDTYPE='STREAM_CR'
書き込み時には、区切り文字として CR を使用しました。入力時は、区切り文字を認識しませんでした。
RECORDTYPE='STREAM_LF'
書き込み時には、区切り文字として CR-LF (Windows*) または LF (Linux* および Mac OS X) を使用しました。入力時は、区切り文字を認識しませんでした。

さらに、CARRIAGECONTROL='NONE' が指定されると、動作が変更されていました。

バージョン 10.1 では、動作が次のように変更されました。

RECORDTYPE='STREAM'
区切り文字は書き込みおよび読み取りされません。Fortran 2003 ストリーム I/O に似ています。
RECORDTYPE-'STREAM_CR'
レコードの区切り文字として CR を書き込みおよび読み取ります。
RECORDTYPE='STREAM_LF'
レコードの区切り文字として LF を書き込みおよび読み取ります。

新しいオプションが次のように定義されました。

RECORDTYPE='STREAM_CRLF'
レコードの区切り文字として CR-LF のペアを書き込みおよび読み取ります。

CARRIAGECONTROL は RECORDTYPE の動作に影響しなくなりました。

Windows のデフォルトのレコード区切り文字は CR-LF で、Linux および Mac OS では LF です。これらの変更により、3 つのオペレーティング・システムすべてで、一貫した方法で特定の区切り文字を指定できるようになりました。

ソースを変更しないでアプリケーションのランタイム動作を変更する場合、新しい環境変数 FOR_FMT_TERMINATOR を定義してください。この環境変数の値は、次の形式になります。

mode[:ulist][;mode[:ulist]...]

mode は CRLFCRLF のいずれかです。ulist は mode を適用するユニット番号の範囲 (例えば、2,17-20, 91) です。

Fortran 2003 の新機能

バージョン 9.1 の最初のリリースから、次の Fortran 2003 規格の新機能が追加されています (一部の機能は、バージョン 9.1 のアップデートで追加されました)。詳細は、『Intel® Fortran Language Reference』(英語) を参照してください。

追加された言語機能

次の新しい言語機能に関する詳細は、『Intel® Fortran Language Reference』(英語) を参照してください。

デフォルトのレコード長を指定するための新しい環境変数

ランタイム時のアプリケーションの動作を変更するための新しい環境変数が 2 つ (FORT_FMT_RECL および FORT_UNFMT_RECL) 追加されました。

FORT_FMT_RECL は、書式付き I/O 用に開かれるすべての Fortran ユニットで使用する RECL (レコード長) のデフォルト値を指定します。符号なし 10 進整数値が定義されると、RECORDTYPE'FIXED' でない場合、環境変数の値が OPEN に対して指定されている RECL= であるかのように使用されます。この環境変数は、リスト指定の出力でカラム数 (デフォルトでは 80) を変更するのによく使用します。

FORT_UNFMT_RECL は、書式なし I/O 用に開かれるすべての Fortran ユニットで使用する RECL (レコード長) のデフォルト値を指定します。符号なし 10 進整数値が定義されると、RECORDTYPE'FIXED' でない場合、環境変数の値が OPEN に対して指定されている RECL= であるかのように使用されます。この環境変数は、一般的に、RECORDTYPE='SEGMENTED' で開いたファイルの最大セグメント長 (デフォルトでは 2040 バイト) を変更するのに使用されます。

OpenMP アプリケーション用の KMP_AFFINITY 環境変数

OpenMP アプリケーションでは、KMP_AFFINITY を使用して、システム上のプロセッサーに実行スレッドをバインドする方法を指定することができます。この設定はプログラム実行中、各スレッドを、生成される順序 (ラウンドロビン方式 (総当り)) に基づき、システム上のプロセッサー・コアにバインドします。KMP_AFFINITY の値は、次の形式になります。

compact,<level>

<level> は正の整数です。次に例を示します。

compact,1

<level> 引数は、バイナリーツリーで表されるマシンのトポロジーマップで、バインドされる連続スレッドのコア間のギャップを指定します。レベル 0 は、インテル® ハイパースレッディング・テクノロジー (HT テクノロジー) 対応のプロセッサー、または連続するプロセッサーの連続するスレッド・コンテキストにスレッドがバインドされることを示します。スレッド・コンテキストからコア、そしてパッケージ (プロセッサー) の順に、レベルが 1 つずつ上がります。この設定は、インテル® プロセッサーが搭載され、スレッド・バインディングに対応したオペレーティング・システムでのみサポートされています。

改善されたパラレライザーおよびベクトライザー

このバージョンでは、メモリーおよびループの最適化を行う最適化レベル O2O3 で、並列化とベクトル化を統合するように最適化機構が完全に再設計されています。

次の改善により、パフォーマンスの大幅な向上が期待できます。

新しく強化された高度なループ変換の最適化レポート

ループ変換 (HLO) の最適化レポートは、ループ変換 (交換) を適用できなかった原因を示し、検出されたボトルネックが、ソースの変更により排除できる場合はループ変換を推奨します。   これらのレポートは、より詳細な情報を提供し、理解しやすいように強化されています。

スタティックの検証

スタティックの検証は、複数のソースファイルに渡ってプログラムを静的に解析する新しい機能です。ユーザーコード内のさまざまな不具合や言語機能と矛盾している箇所を特定して、重要度に応じて報告します。スタティックの検証は、C/C++ および Fortran のコードを理解し、OpenMP 宣言子の解析も行います。
 
本リリースでは、スタティックの検証を有効にすると、リンカーが起動されず、実行ファイル、スタティック・リンク・ライブラリー、またはダイナミック・リンク・ライブラリーが生成されません。スタティックの検証により生成されるオブジェクト・ファイルは有効なものではなく、実際の実行ファイル、スタティック・リンク・ライブラリー、またはダイナミック・リンク・ライブラリーの生成には使用できません。現在の使用モデルでは、スタティックの検証は診断レポートを生成するための代替ビルドオプションとして追加されています。

詳細は、ドキュメントの「アプリケーションのビルド」 > 「エラー処理」 > 「コンパイル時エラー処理」 > 「スタティックの検証診断オプションの使用」を参照してください。

Xcode IDE でのスタティックの検証の使用

IDE 内でスタティックの検証サポートを有効にすると、最終的なビルドターゲット (例: 実行ファイル) は作成されません。スタティックの検証が必要な場合は、デバッグ (開発) 構成のコピーを作成して、スタティックの検証構成を別途作成することを推奨します。

Fortran 2003 機能サマリー

インテル® Fortran コンパイラーは、最新の Fortran 規格である、Fortran 2003 の多くの機能をサポートしています。現在サポートしていない Fortran 2003 機能についても、今後サポートしていく予定です。現在のコンパイラーでは、以下の Fortran 2003 機能がサポートされています。

動作環境

注:

インストール

コンパイラーのインストールおよびコンパイラー環境の設定についての情報は、「インストール・ガイド」を参照してください。

既知の問題

コンパイラーの問題

ランタイムチェックを有効にするとコンパイル時のチェックも有効になることがある

-check オプションまたは -C オプションを使用してランタイムチェックを有効にすると、コンパイラーはコンパイル時に (その時点で診断を行うことができる) 要求された条件の診断を発行することがあります。例えば、-check:bounds または -CB を使用する場合、インデックスが定数である配列の境界違反は、コンパイル時にエラーとなります。

Xcode 使用上の注意

デバック用 .o ファイルの保存

Xcode 2.3 から、Dwarf 形式のデバッグ情報がオブジェクト (.o) ファイルに保存されます。デバッガーは、これらのオブジェクト・ファイルにアクセスして、デバッグ中のアプリケーションに関する情報を取得します。そのため、シンボリック・デバッグには、これらのファイルが必要です。

次のように、1 つのコマンドでプログラムがコンパイルおよびリンクされている場合、

ifort -g -o hello.exe hello.f90

コンパイラーによってオブジェクト・ファイルが生成されますが、実行ファイルが作成されると削除されます。

このようなアプリケーションをデバッグするには、次のようにコンパイルとリンクを別々に実行します。

ifort -c -g -o hello.o hello.f90
ifort -g -o hello.exe hello.o

また、別の方法として、次のように -save-temps オプションを使用することもできます。

ifort -g -o hello.exe -save-temps hello.f90

-save-temps を使用することで、リンク後にオブジェクト・ファイルが削除されるのを防ぎます。

リンク中の警告

インテル® コンパイラーでコンパイルしたアプリケーションをリンクするとき、ld から次のような警告が表示されることがあります。

ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used
symbol _fdim used from dynamic library /usr/lib/system/libmathCommon.A.dylib(single module) not from earlier dynamic library libimf.dylib(fdim_stub.o)
[…]

この警告は、libimf.dyliblibmathCommon.A.dyblib の両方で 16 のシンボルが見つかると表示されます。これは、インテル® ライブラリーを動的にリンクした場合 (デフォルト) に発生します。インテル® ライブラリーを静的にリンクした場合、警告は表示されません。しかし、警告が表示された場合でも、シンボルが実行可能ファイルの libimf.dylib またはリンクしたダイナミック・ライブラリーから正しくリンクされていることを確認しています。したがって、これらの警告メッセージは無視してかまいません。

"otool -vH <executable>" を使用して、シンボルがどのダイナミック・ライブラリーによって解決されたか確認することができます。

アプリケーション実行中の Library not loaded エラー

インテル® コンパイラーでビルドしたアプリケーションの実行中に、次のようなエラーが表示されることがあります。

dyld:Library not loaded:libsvml.dylib
reason: image not found

このエラーは、インテルのダイナミック・ライブラリーが見つからないときに表示されます。この問題を解決するには、次の操作を行ってください。

テクニカルサポート

インストール時にコンパイラーの登録を行わなかった場合は、インテル® ソフトウェア開発製品レジストレーション・センターで登録してください。登録を行うことで、サポートサービス期間 (通常は 1 年間) の間、すべてのアップデートと新しいバージョンの入手を含む、インテル® プレミアサポートのすべての機能にアクセスできます。

テクニカルサポート、製品のアップデート、ユーザーフォーラム、FAQ、ヒント、およびその他のサポート情報は、http://www.intel.com/software/products/support/fmac を参照してください。

注: 代理店がテクニカルサポートを提供している場合は、インテルではなく代理店にお問い合わせください。

問題の送信方法

問題を送信する手順は次のとおりです。

  1. http://www.intel.com/software/products/support にアクセスして、インテル® プレミアサポートのリンクをクリックします。
  2. サイトにログインします。ログイン名とパスワードを入力します。どちらも大文字と小文字が区別されます。
  3. 左側のナビゲーション・バーの [Submit Issue] リンクをクリックします。
  4. [Product Type] ドロップダウン・リストから [Development Environment (tools,SDV,EAP)] を選択します。
  5. ソフトウェアまたはライセンスに関する問題の場合は、[Product Name] ドロップダウン・リストから [Intel® Fortran Compiler for Mac OS* X] を選択します。
  6. 質問を入力します。ウィンドウの残りのフィールドも記入して、問題箇所の送信を完了します。

注: 特定の国へのアクセスを制限する必要があるソースコードを送信する場合は、ソースコードを送信する前にサポート担当者までお問い合わせください。

問題の報告および製品に関するご意見を送信される際のガイドライン

  1. 問題、その他ご意見を入力してください。
    問題の報告の場合は、その問題を再現できるように、できるだけ具体的に説明してください。コンパイラーの問題報告の場合は、できるだけコンパイラー・オプションと簡単なテストコードを追加してください。
  2. システム構成情報を入力してください。

    下記のコマンドで、インテル® Fortran コンパイラーのパッケージ ID を取得します。
        > ifort -V
    出力された「Package ID」(例: m_fc_x_10.1.xxx) をインテル® プレミアサポートの適切なフィールドにコピーします。また、問題の解決に役立つと思われる事項はすべてお伝えください。

  3. コンパイラーをインストールできない場合、またはパッケージ ID を取得できない場合は、ダウンロードしたファイル名をパッケージ ID として入力してください。

解決済みの問題

コンパイラーの最新バージョンで修正された問題点については、インテル® ソフトウェア開発製品レジストレーション・センターからダウンロードできる <package ID>_README (例: m_fc_x_10.1.xxx_README) を参照してください。

Compiler Error Source Reducer (CESR)

Compiler Error Source Reducer (CESR) は、C/C++ または Fortran ソースコードで構成されたテストケースの収集、縮小、特定、保護、文書化、およびバンドルを行うユーティリティーのセットです。大規模なアプリケーションからインテル® プレミアサポートに送信する小さなテストケースを抽出する場合に便利です。CESR は、インテル® ソフトウェア開発製品レジストレーション・センターの [製品のダウンロード] からダウンロードできます。製品を選択して、バージョンのドロップダウンから [CESR] を選択します。CESR は試験的に提供されているもので、サポートは提供されておりません。CESR に関するご意見およびご感想は、インテル® プレミアサポートまでお寄せください。CESR を利用するには、Python* 2.2 またはそれ以降をあらかじめインストールしておく必要があります。

ドキュメント

インテル® Fortran コンパイラーには、さまざまなドキュメントが含まれています。<install-dir> フォルダーにあるファイルエイリアスを開いて利用可能なドキュメントの一覧を表示できます。ファイルエイリアスは、Intel® Fortran Compiler Documentation です。(エイリアス・ターゲット・ファイルは <install-dir>/doc/Doc_Index.html です。)

『インテル® Fortran コンパイラー 10.1 Mac OS* X 版入門ガイド』の手順を実行することで、コンパイラーの操作方法を素早く理解することができます。<install-dir> フォルダーにあるファイルエイリアスを開いて入門ガイドを表示できます。ファイルエイリアスは、Getting Started with the Intel® Fortran Compiler です。(エイリアス・ターゲット・ファイルは <install-dir>/doc/Getting_Started.html です。)

追加情報

関連製品とサービス

インテル® ソフトウェア開発製品の詳しい情報については、http://www.intel.co.jp/jp/software/products/ を参照してください。

著作権と商標について

本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するためのものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的所有権を侵害していないことへの保証を含む) にも一切応じないものとします。インテルによる書面での同意がない限り、インテル製品は、インテル製品の停止を起因とする人身傷害または死亡を想定して設計されていません。

インテル製品は、予告なく仕様や説明が変更される場合があります。機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計の前提にしないでください。これらの項目は、インテルが将来のために留保しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。この情報は予告なく変更されることがあります。この情報だけに基づいて設計を最終的なものとしないでください。

本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。

最新の仕様をご希望の場合や製品をご注文の場合は、お近くのインテルの営業所または販売代理店にお問い合わせください。

本書で紹介されている注文番号付きのドキュメントや、インテルのその他の資料を入手するには、1-800-548-4725 (アメリカ合衆国) までご連絡いただくか、インテルの Web サイトを参照してください。

Intel、インテル、Intel ロゴ、Intel Core、Xeon は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。

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

© 2007 Intel Corporation. 無断での引用、転載を禁じます。