インテル® Visual Fortran コンパイラー 10.0 Windows* 版
リリースノート

目次

概要

インテル® Visual Fortran コンパイラー 10.0 Windows 版は、最高のパフォーマンスを実現する Fortran アプリケーションを作成するためのツールを提供します。Fortran 2003 規格のさまざまな機能に加え、一般的な言語拡張に幅広く対応した完全な Fortran 95 コンパイラーです。また、OpenMP* に対応し、自動並列化機能も備えるなど、マルチスレッド・コードの開発もサポートしています。

互換性

他社製の Fortran コンパイラーおよびインテル® Fortran コンパイラー 8.0 以前 (.mod ファイルを生成するバージョンを含む) でコンパイルされた Fortran のソースは、すべて再コンパイルする必要があります。サードパーティーのライブラリーや .mod ファイルを使用している場合、互換性のあるバージョンをライブラリー・ベンダーから入手してください。サードパーティーのライブラリーの更新で問題が発生した場合は、インテル® プレミアサポートまでお知らせください。Compaq* Visual Fortran (CVF) を使用していた場合、デフォルト・プロシージャーの呼び出しおよび命名規則が CVF とは異なります。CVF からの移植に関しては、こちらを参照してください。

また、 インテル® 64 および IA-64 アーキテクチャーにおける、モジュール変数のグローバル名の修飾に関する変更のセクションも参照してください。

製品の内容

インテル® Visual Fortran には、3 つのエディションがあります。

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

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

プロフェッショナル・エディション IMSL* 同梱には、プロフェッショナル・エディションのすべての機能に加えて、Visual Numerics* 社の IMSL Fortran 数値計算ライブラリーが含まれています。インテル® Visual Fortran 9.1 プロフェッショナル・エディションの有効なライセンスをお持ちの場合は、インテル® レジストレーション・センターにログインして、ライセンスキーの再送手続きを行うと、インテル® MKL を使用できるアップデート・ライセンスを取得できます。

コンパイラーのインストールとは別に、インテル® MKL および IMSL Fortran 数値計算ライブラリーのインストールが必要です。詳細は、コンパイラーのインストール・ガイドを参照してください。

注: このドキュメントで <install-dir> として表記されているデフォルトのインストール・ディレクトリーは、C:\Program Files\Intel です。インテル® Fortran コンパイラー 10.0 は、Compiler\Fortran\10.0.xxx サブフォルダーにインストールされます。

本製品で提供されるツールについてのテクニカルサポートおよび製品のアップデート情報を受けるには、製品の登録が必要です。詳細は「テクニカルサポート」セクションを参照してください。

バージョン 10.0 における変更点

このセクションでは、インテル® Visual Fortran コンパイラー 10.0 の新機能および変更点について説明します。<install-dir>\IDB\10.0\docs フォルダーにあるインテル® デバッガーのリリースノートも参照してください。

Microsoft Visual Studio 2005 Premier Partner Edition の提供

10.0 では、IA-32 システムまたはインテル® 64 対応システム用のアプリケーションを開発する場合、Microsoft 開発製品を別途購入してインストールする必要がなくなりました。Microsoft Visual Studio 2005、Microsoft Visual Studio .NET 2003 (IA-32 システムのみ)、または Microsoft Visual C++* .NET 2003 (IA-32 システムのみ) がインストールされていない場合、インテル® Visual Fortran のインストーラーによって Microsoft Visual Studio 2005 Premier Partner Edition がインストールされます。これにより、デバッガーに加え、ビジュアル開発環境およびコマンドラインでの開発に必要なツールとライブラリーを含む Microsoft ビジュアル開発環境が提供されます。

Microsoft Visual Studio 2005 Premier Partner Edition を使用する場合、次の制限が適用されます。

Microsoft Visual Studio 2005、Visual Studio .NET 2003 (IA-32 システムのみ)、または Visual C++ .NET 2003 (IA-32 システムのみ) を別途購入した場合、これらの制限は適用されません。

インテル® COM サーバーウィザード

インテル® COM サーバーウィザードは、Fortran で COM サーバーを作成して、.NET 環境のアプリケーションを含む、その他のアプリケーションにサービスを提供します。Component Object Model (COM) は、再利用可能なソフトウェア・コンポーネントを作成するためのメカニズムを提供します。COM は、ソフトウェアの相互運用性を高めることを目的として設計されたオブジェクト・ベースのプログラミング・モデルです。つまり、2 つ以上のアプリケーションまたはコンポーネントが、異なるベンダーによって異なる時期に、異なるプログラミング言語で作成された場合でも、またそれらが異なるオペレーティング・システムを実行している異なるマシンで動作していても、簡単に協調動作を行うことができます。

詳細は、ドキュメントの「インテル® Fortran COM サーバーの使用」を参照してください。

サンプルプログラム

Fortran Windows アプリケーションのさまざまなプログラミング手法および使用例を紹介したサンプルプログラムのセットが、 <install_dir>\Compiler\Fortran\10.0.xxx\samples フォルダーにあります。コンパイラー・ドキュメントで使用しているサンプルプログラムも含まれています。詳細は、samples フォルダーにある samples.htm を参照してください。

複数のコンパイラー・バージョンのインストール

複数のバージョンのインテル® Visual Fortran コンパイラーをインストールすることができます。バージョン 10.0 では、複数のアップデート・バージョンを共存させることができます。バージョン 10.0 のアップデートをインストールする場合、10.0 の古いバージョンは自動的にアンインストールされません。Microsoft Visual Studio では、Microsoft Visual Studio から ([ツール] - [オプション] - [Fortran]) 新しいバージョンを選択する必要があります。以前のバージョンをアンインストールする場合は、このバージョンをインストールする前 (推奨) でもインストールした後でもアンインストールできます。アップデートごとに、インストール・パスは異なります。

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

以下に、バージョン 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 の式評価で、演算の関連付けを変更せずに、括弧を考慮に入れて最適化するかどうかを指定します。
/check:[no]pointer
ヌルポインターや割り付けられていない ALLOCATABLE 変数によるアクセスのランタイムチェックを有効または無効にします。(デフォルト: /check:nopointer)
/fast
パフォーマンスを向上させるオプションのセットを有効にします。本リリースでは、オプションが変更されています。下記の説明を参照してください。
/heap-arrays[-]
自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上に割り当てるように指示します。
/help [category]
利用可能なすべてのコンパイラー・オプションまたはコンパイラー・オプションのカテゴリーを表示します。(デフォルト: オフ)
/QaxS
IA-32 汎用コードと将来のインテル® プロセッサーでサポートされる、SSE4 ベクトル化コンパイラー命令およびメディア・アクセラレーター命令を生成します。(IA-32 およびインテル® 64 対応システムのみ。デフォルト: オフ)
/Qdiag-<type>:<diag-list>
診断情報の表示を制御します。(デフォルト: オフ)
/Qdiag-dump
有効なすべての診断メッセージを出力して、コンパイルを停止するようコンパイラーに指示します。(デフォルト: オフ)
/Qdiag-enable:sv[1|2|3]
スタティックの検証を有効にします。(デフォルト: オフ)
/Qdiag-enable:sv-include
スタティックの検証でインクルード・ファイルも解析対象とします。
/Qdiag-id-numbers[-]
メッセージ ID を使用して、診断メッセージを表示するようコンパイラーに指示します。(デフォルト: オン)
/Qfp-speculation=<mode>
浮動小数点演算のスペキュレーションを行うモードをコンパイラーに指示します。(デフォルト: fast)
/Qinline-dllimport[-]
dllimport 関数をインライン展開するかどうかを指定します。(デフォルト: オン)
/Qinstrument-functions[-]
関数のエントリーポイントと終了ポイントをインストルメントするかどうかを指定します。(デフォルト: オフ)
/Qipo-jobs:n
プロシージャー間の最適化 (IPO) のリンクフェーズで、同時に実行するコマンド (ジョブ) の数を指定します。
/Qkeep-static-consts[-]
ソースで参照されない変数の割り当てを保持するようコンパイラーに指示します。(デフォルト: オフ)
/Qpar-schedule-<keyword>[[:]n]
DO ループのスケジューリング・アルゴリズムを指定します。
/Qprefetch[-]
プリフェッチ挿入による最適化を有効または無効にします。このオプションは、-O3 が指定されている場合のみ有効です。本リリースでは、/QxT が指定されている場合は、IA-64 システム上に加えて IA-32 システム上でも有効です。(IA-32 および IA-64 システムのみ。デフォルト: オフ)
/Qsave-temps[-]
コンパイル時に作成される中間ファイルを保存するようコンパイラーに指示します。(デフォルト: オン)
/Qtcheck[:<mode>]
OpenMP マルチスレッド・アプリケーションの解析方法を指定します。(デフォルト: オフ)
/Qtcollect
インテル® トレースコレクター API の呼び出しを検証するインストルメンテーションを挿入します。(デフォルト: オフ)
/QxO
SSE3、SSE2、および SSE 命令を生成し、インテル® Pentium® 4 プロセッサーおよび SSE3 対応のインテル® Xeon® プロセッサー向けに最適化します。生成されるコードは、SSE3、SSE2、および SSE 命令セットに対応したインテル以外から提供されているプロセッサーでも動作することがあります。この値は、processor 値が S、T、および P の場合に有効となる一部の最適化を有効にしません。(IA-32 およびインテル® 64 対応システムのみ。デフォルト: オフ)
/QxS
将来のインテル® プロセッサーでサポートされる、SSE4 ベクトル化コンパイラー命令およびメディア・アクセラレーター命令を生成します。また、SSSE3、SSE3、SSE2、および SSE 命令も生成します。将来のインテル® プロセッサー向けに最適化します。(IA-32 およびインテル® 64 対応システムのみ。デフォルト: オフ)
/std または /stand
/stand:f03 と同じです。以前のバージョンから変更されました。(デフォルト: オフ)
/stand:f03 または /std03
Fortran 2003 規格に準拠していないソース構文に対して、警告を発行するようにコンパイラーに指示します。(デフォルト: オフ)

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

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

/fast の変更

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

/stand の変更

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

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

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

Microsoft Visual Studio* .NET 2002 サポートの終了

Microsoft Visual Studio .NET 2002 のコマンドラインおよびビジュアル開発環境への統合は提供していません。サポートしている Visual Studio バージョンは 2003 および 2005 です。

Fortran 2003 規格の動作

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

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 を出力します。

インテル® Fortran コンパイラー 10.0 のデフォルトの動作は、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 を使用している場合も、このコンパイラーオプションを使用する必要があります。

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 で、並列化 (IA-32、インテル® 64、および IA-64 システム) とベクトル化 (IA-32 およびインテル® 64 対応システム) を統合するように最適化機構が完全に再設計されています。

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

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

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

スタティックの検証

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

スタティックの検証は、クロスファイルのプロシージャー間の最適化 (/Qipo) とともに使用することはできません。

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

Microsoft Visual Studio 環境でのスタティックの検証の使用

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

拡張された Win32* API モジュール

Win32 API モジュール (IFWINTY および KERNEL32) に、Microsoft の新しいオペレーティング・システムで定義されているシンボルが追加されました。アプリケーションのソースでこれらのシンボルを宣言している場合は、正常にコンパイルするために削除しなければならないことがあります。

エントリーポイントが含まれる場合の STDCALL 属性の制限

インテル® Visual Fortran コンパイラー 10.0 では、エントリーポイントを含むプロシージャーでは、!DEC$ ATTRIBUTES STDCALL 宣言子を使用して SUBROUTINEFUNCTIONENTRYSTDCALL 属性が与えられた場合、STDCALL が必要です。

インテル® 64 および IA-64 プラットフォームにおけるモジュール変数の外部名の修飾に関する非互換性の変更

インテル® 64 および IA-64 プラットフォームで動作する Microsoft Windows では、外部シンボル名とグローバルシンボル名の修飾に関する表記方法が、IA-32 プラットフォームとは異なります。コンパイラーにより生成されるグローバルシンボルには、IA-32 プラットフォームでは先頭に下線が付きますが、インテル® 64 および IA-64 プラットフォームでは下線が省略されます。

以前のバージョンのインテル® Fortran コンパイラーのモジュール変数は、この規則に従っていませんでした。例えば、MOD モジュールの変数 X のグローバル名は、IA-32 プラットフォームでは _MOD_mp_X、インテル® 64 および IA-64 プラットフォームでは MOD_mp_X となるはずですが、 すべてのプラットフォームで先頭に下線を使用していました。このため、特に C++ や Fortran 以外のコードからモジュール変数を参照する際に、問題やリンクエラーが生じていました。

バージョン 10.0 では、インテル® 64 および IA-64 プラットフォームの場合には、先頭の下線が省略されるように修正されています。Fortran のみで記述されているアプリケーションでは、すべてのソースをリビルドしても、この変更による影響を受けません。この修正による変更は、次のようなアプリケーションに適用されます。

上記のアプリケーションに該当する場合は、早いうちに対処することを推奨します。/switch:fe_old_modvar コンパイラー・オプションを使用して、以前の動作を利用できます。このオプションを指定すると、バージョン 9.1 以前のように下線が追加されます。Microsoft Visual Studio 環境でこのオプションを指定する場合は、[プロパティ ページ] - [Fortran] - [Command Line (コマンドライン)] を選択して、[Additional Options (追加のオプション)] でこのオプションを入力します。

IA-32 対応アプリケーションは、この変更による影響を受けません。この変更に関する質問は、インテル® プレミアサポートまでお問い合わせください。

Fortran 2003 機能サマリー

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

IMSL Fortran ライブラリー 6.0 (プロフェッショナル・エディション IMSL 同梱のみ)

インテル® Visual Fortran プロフェッショナル・エディション IMSL 同梱のライセンスをお持ちの場合は、Visual Numerics 社の IMSL Fortran ライブラリー 6.0 を利用できます (別途インストールが必要です)。

Microsoft Visual Studio またはコマンドラインから IMSL ライブラリーを使用するための環境の設定方法については、『インテル® Visual Fortran コンパイラー・ドキュメント』 の 「アプリケーションのビルド」 > 「ライブラリーの使用」 > 「IMSL* 数値計算/統計解析ライブラリーの使用」を参照してください。この情報は、以前のバージョンから変更されています。IMSL Fortran ライブラリー 6.0 の詳細は、[スタート] - [すべてのプログラム] - [Visual Numerics] を選択して、表示されるドキュメントを参照してください。

将来のバージョンにおけるインテル® デバッガー (IDB) 提供の終了

インテル® Visual Fortran コンパイラー Windows 版の将来のメジャーリリースでは、インテル® デバッガー (IDB) は提供されなくなります。Microsoft Visual Studio でのデバッグには影響ありません。IDB の代わりに Microsoft Visual Studio のデバッグ機能を使用してください。

動作環境

アーキテクチャー用語

インテル® コンパイラーは、一般的なプロセッサー・アーキテクチャーとオペレーティング・システムを組み合わせた、3 つのプラットフォームをサポートしています。このセクションでは、本ドキュメント、インストール手順、およびサポートサイトでプラットフォームの記述に使用されている用語について説明します。

IA-32 (32 ビット インテル® アーキテクチャー):
32 ビットのオペレーティング・システムを実行している、インテル® Pentium® II プロセッサーと互換性のある 32 ビット・プロセッサー (インテル® Core™ プロセッサー、インテル® Xeon® プロセッサーなど)、または同じ命令セットをサポートしている他社製のプロセッサーがベースのシステム。
インテル® 64 (旧称: インテル® エクステンデッド・メモリー 64 テクノロジー (インテル® EM64T)):
64 ビット・アーキテクチャーに対応するように拡張され、Microsoft* Windows XP Professional x64 Edition または Microsoft Windows Vista* x64 Edition のような 64 ビット・オペレーティング・システムを実行している IA-32 プロセッサー (インテル® Core™2 プロセッサー、インテル® Xeon® プロセッサーなど) がベースのシステム。32 ビットの Windows オペレーティング・システムを実行しているシステムは、IA-32 とみなされます。64 ビット・オペレーティング・システムを実行している、AMD* Athlon64* プロセッサーおよび Opteron* プロセッサーがベースのシステムも、インテル® 64 対応アプリケーション開発用インテル® コンパイラーでサポートされています。
IA-64:
64 ビット・オペレーティング・システムを実行している、インテル® Itanium® 2 プロセッサー・ベースのシステム。

ネイティブおよびクロスプラットフォーム開発

「ネイティブ」とは、アプリケーションを実行するプラットフォームと同じプラットフォームでアプリケーションをビルドする (例えば、IA-32 システムで実行するアプリケーションを IA-32 システムでビルドする) ことを指します。「クロスプラットフォーム」または「クロスコンパイル」とは、アプリケーションを実行するプラットフォームとは異なる種類のプラットフォームでアプリケーションをビルドする (例えば、インテル® 64 対応システムで実行するアプリケーションを IA-32 システムでビルドする) ことを指します。すべての組み合わせのクロスプラットフォーム開発がサポートされているわけではありません。また、組み合わせによっては、オプションのツールとライブラリーをインストールする必要があります。

サポートされているホスト (アプリケーションをビルドするシステム) とターゲット (アプリケーションを実行するシステム) の組み合わせを次に示します。

ホストとターゲットの組み合わせ
ホスト\ターゲット IA-32 インテル® 64 IA-64
IA-32
インテル® 64
IA-64
×
×

IA-32 プロセッサー、インテル® 64 アーキテクチャー対応プロセッサー、または AMD プロセッサーを搭載したシステム用のアプリケーション開発

必要な最小ハードウェア構成
 
必要なソフトウェア環境
Microsoft Windows Vista、Windows XP、または Windows Server* 2003
 
追加のソフトウェア環境

次の Microsoft 開発ソフトウェアのインストールは、ライセンスの種類により、オプションまたは必須となります。バージョン 10.0 (商用版またはアカデミック版) を新規に購入した場合、サポートサービスを更新した場合、およびインテル® Visual Fortran 9.1 プロフェッショナル・エディション以前を使用しており、現在有効なライセンスをお持ちの場合、これらのインストールはオプションです。そうでない場合 (評価版、またはインテル® Visual Fortran 9.1 スタンダード・エディション以前を使用している場合を含む) は、インテル® Visual Fortran 10.0 をインストールする前に、次のいずれかをインストールする必要があります。

上記の製品のインストールがオプションの場合、システムに開発ソフトウェアがインストールされていないと、インテル® Visual Fortran は、Fortran 開発用の Microsoft ビジュアル開発環境、ツール、およびライブラリーを提供する Microsoft Visual Studio 2005 Premier Partner Edition をインストールします。

注: Microsoft Visual Studio.NET 2002 はサポートされていません。

IA-64 プロセッサー (インテル® Itanium® プロセッサー) を搭載したシステム用のアプリケーション開発

必要な最小ハードウェア構成
 
必要なソフトウェア環境

アプリケーション実行に必要な環境

注:

アプリケーションで使用している機械語命令が特定のオペレーティング・システムやプロセッサーでサポートされているかどうかは、アプリケーション開発者自身の責任で確認してください。

Microsoft Windows Vista でのインストール

Windows Vista では、Visual Studio 2005 のみサポートされています。それ以前のバージョンの Visual Studio はサポートされていません。Visual Studio 2005 を使用する場合は、Windows Vista にインテル® コンパイラーをインストールする前に、Visual Studio 2005 Service Pack 1 (VS 2005 SP1) と Visual Studio 2005 Service Pack 1 Update for Windows Vista (VS 2005 SP1 からリンクされています) をインストールしてください。これらのアップデートをインストールした後に、管理者権限で Visual Studio が実行できることを確認してください。実行できない場合、インテル® コンパイラーを使用できません。Visual Studio のアップデートをインストールする前に、インテル® コンパイラーの統合をアンインストールしてください。詳細は、Microsoft の Visual Studio on Windows Vista (英語) および関連ドキュメントを参照してください。

Microsoft Visual C++ 2005 Express Edition に関する重要事項

Microsoft Visual C++ 2005 Express Edition がインストールされている場合は、インテル® Visual Fortran をインストールする前にアンインストールする必要があります。Visual C++ Express Edition で提供される C++ コンパイラーを使用する場合は、インテル® Visual Fortran をインストールした後に、Visual C++ Express Edition を再度インストールしてください。Microsoft Visual Studio Premier Partner Edition から Microsoft Visual C++ コンパイラーを使用することはできません。

インストール

詳細は、「インストール・ガイド」を参照してください。

既知の問題

コマンドラインからの Visual Studio プロジェクトのビルド

Visual Studio で作成したインテル® Fortran プロジェクト/ソリューションをコマンドラインまたはバッチファイルからビルドする場合は、Visual Studio ランチャー、devenv.exe を使用してください。 利用可能なコマンドライン・オプションを表示するには、devenv /? と入力してください。Microsoft ツール MSBuild および Team Build は、インテル® Fortran プロジェクトのビルドには現在使用できません。

Visual Studio 2005 で利用できないスタティック、シングルスレッド・ライブラリー

Microsoft Visual Studio 2005 では、スタティック、シングルスレッド Visual C++ ライブラリー libc.lib および libcd.lib が削除されました。インテル® Fortran コンパイラーがコマンドラインで Visual Studio 2005 を使用するように指定した場合、以前のバージョンではデフォルトだったスタティック、シングルスレッド・ライブラリーを使用してアプリケーションをビルドしようとすると、コンパイラーは警告を表示します。

ifort: warning: option '/Qvc8' or higher used with '/ML[d]' is not supported

/Qvc8 は、Visual Studio 2005 とのコマンドライン統合を指定した場合、インストール時に ifort.cfg に追加されます。このオプションは、Visual Studio 2005 を使用していることを ifort コンパイラー・ドライバーに知らせます。

このオプションを使用してアプリケーションをリンクしようとすると、リンカーは libc.lib または libcd.lib が見つからないというエラーを表示します。次に例を示します。

LINK : fatal error LNK1104: ファイル 'LIBC.lib' を開けません

このエラーを解決するには、ランタイム・ライブラリーのスレッド/DLL フォームを指定してください。次に例を示します。

他に何も指定していない場合、Visual Studio 2005 で ifort を使用したときのデフォルトは /libs:static /threads (/MT と同じ) です。

この問題は、Microsoft Visual Studio IDE からビルドされるプロジェクトにも影響します。この場合、[プロジェクト プロパティ] - [Fortran] - [コード生成] - [ランタイム・ライブラリー] を新しい値に変更してください。

Visual Studio 2005 のアクティブ・プラットフォーム・ドロップダウン・リスト

Visual Studio 2005 で、新規プロジェクト・プラットフォーム (x64 または Itanium) を追加した後、ツールバーのアクティブ・プラットフォーム・ドロップダウン・リストが空になります。この場合、[出力] ウィンドウをクリックしてアクティブにすると、ドロップダウン・リストの内容が表示されます。

Visual Studio 2005 における言語が混在したアプリケーション

Microsoft Visual Studio 2005 で C/C++ のメインプログラムと Fortran スタティック・ライブラリー依存プロジェクトを使用する場合、Visual Studio は C/C++ 以外の言語の依存プロジェクトの出力ファイル (通常は .lib) を検索しなくなりました。この問題を回避するには、依存プロジェクトの .lib を「ソースファイル」として追加するか、[プロパティ ページ] - [リンカ] - [入力] の [追加の依存ファイル] で .lib のフルパスを指定します。この問題は、Visual Studio 2005 Service Pack 1 で解決されています。

Visual Studio 2005 のダイアログ エディタ

Microsoft Visual Studio 2005 では、Visual C++ プロジェクトを開くまで、ダイアログ エディタ (リソース エディタの一部) で変更はできません。この問題は、Visual Studio 2005 Service Pack 1 で解決されています。

英語版以外の Microsoft Visual Studio 2005 の使用

英語版以外の Microsoft Visual Studio 2005 を使用する際のインテル® Visual Fortran の設定に関する重要な情報については、『インストール・ガイド』を参照してください。

Visual Studio のアプリケーション・ウィザードにおける特殊文字の使用の回避

Visual Studio の Fortran プロジェクト・ウィザードを使用して、[Dynamic-Link Library with Sample Code ダイナミック・リンク・ライブラリー (サンプルコード付き)] のようにサンプルコード付きのプロジェクトを作成する場合は、プロジェクト名で次の特殊文字を使用しないでください。

~ !@ $ ^ ( ) + ` - = { } [ ] ; ' ,

これらの特殊文字を使用すると、プロジェクトの作成に失敗することがあります。また、インテル® COM サーバーウィザードのクラス、インターフェイス、および派生型の名前でも、これらの特殊文字は使用しないでください。

インテル® COM サーバーウィザードの問題

Platform SDK 使用時の IA-64 システムまたはインテル® 64 対応システムのリンクエラー

IA-64 システムまたはインテル® 64 対応システムで Microsoft Platform SDK を使用してビルドを行うと、以下のようなリンクエラーが発生します。

LIBC.lib(a_str.obj) : error LNK2001: 外部シンボル __security_cookie は未解決です
[...]
LIBC.lib(a_str.obj) : error LNK2001: 外部シンボル __security_check_cookie は未解決です
[...]

この問題は、Microsoft Platform SDK のバージョン間の不一致によって発生します。インテルでは、この問題を解決するために Microsoft と作業を行っています。この問題を回避するには、以下のいずれかの方法でアプリケーションをリンクしてください。

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

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

自動 CPU ディスパッチ (/Qax*) 使用時のデバッグ情報の制限

/Qax[code] を使用してコンパイルを行うと、各関数について IA-32 汎用コードと CPU 特有のコードの 2 種類のコードが生成されます。各関数のシンボルは自動 CPU ディスパッチ・ルーチンを参照して、ランタイムに実行するコードセクションを決定します。これらの関数にデバッガーのブレークポイントが名前でセットされると、ディスパッチ・ルーチンでアプリケーションが停止します。その結果、デバッグ時に予測できない動作が発生します。この問題は、インテル® デバッガーおよびインテル® コンパイラーの将来のバージョンで修正される予定です。

/Oy オプションを使用してビルドされた IA-32 プログラムをデバッグまたはトレースバック表示できない

/Oy を使用してコンパイルを行うと、IA-32 EBP レジスターはフレームポインターではなく汎用レジスターとして使用されます。デバッガーおよびトレースバック・ハンドラーは、この方法でコンパイルされた関数への呼び出しを含むスタックから適切にスタックを戻すことができません。

POSIX* ライブラリのルーチン PXFGETPPID が Windows NT* 4.0 でサポートされない

POSIX ライブラリのルーチン PXFGETPPID を使用しているアプリケーションは、Windows NT 4.0 で動作しません。Windows 2000 またはそれ以降を使用してください。

デバッグ時に表示される追加の浮動小数点例外

IA-32 システム上で、-fpe:0 オプションを使用してコンパイルされ、浮動小数点例外が起こるプログラムでは、Fortran ランタイム・ライブラリーによって、追加の浮動小数点オーバーフロー例外が発生します。これは、どのバージョンの Microsoft ライブラリーがユーザーのプログラムにリンクされているかをライブラリーが判断するためです。この例外は、1 回のプログラムのプロセスに 1 度だけ発生します。デバッグ時、予測されたアンダーフローに続く予期しないオーバーフローについては、注意する必要はありません。

テクニカルサポート

インテルでは、お客様からのフィードバックを非常に重視しております。http://www.intel.com/software/products/support (英語) から、本製品で提供されるツールについてのテクニカルサポートを利用したり、FAQ や製品のアップデート情報を含むテクニカル情報を入手することができます。

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

インテル® Visual Fortran コンパイラーのユーザーフォーラム、FAQ、ヒント、およびその他のサポート情報は、http://support.intel.com/support/performancetools/fortran/windows/ (英語) を参照してください。サポート情報全般については、http://www.intel.com/software/products/support/ (英語) を参照してください。

問題の送信方法

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

  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 Windows*] を選択します。
  6. 質問を入力します。ウィンドウの残りのフィールドも記入して、問題箇所の送信を完了します。

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

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

  1. 問題、その他ご意見を入力してください。
    問題の報告の場合は、その問題を再現できるように、できるだけ具体的に説明してください。コンパイラーの問題報告の場合は、できるだけコンパイラー・オプションと簡単なテストコードを追加してください。
  2. システム構成情報を入力してください。
    次のようにしてパッケージ ID 情報を取得できます。[スタート] - [すべてのプログラム] - [Intel® Software Development Tools (インテル® ソフトウェア開発ツール)] - [Intel® Fortran Compiler 10.0.xxx (インテル® Fortran コンパイラー 10.0.xxx)] - [Build Environment for <architecture-name> Applications ( <architecture-name> 対応アプリケーション用ビルド環境)] を選択してコマンドウィンドウを開き、次のコマンドを入力します。
        ifort /what
    出力された「Package ID」(例: w_fc_p_10.0.xxx) をインテル® プレミアサポートの適切なフィールドにコピーします。また、問題の解決に役立つと思われる事項はすべてお伝えください。
  3. コンパイラーをインストールできない場合、またはパッケージ ID を取得できない場合は、ダウンロードしたファイル名をパッケージ ID として入力してください。

解決済みの問題

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

Compiler Error Source Reducer (CESR)

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

ドキュメント

インテル® コンパイラーのドキュメントおよび HTML ベースの関連ドキュメントは、ナビゲーション、キーワード検索、およびハイパーテキスト機能が利用できるコンパイル済み HTML ヘルプ (.CHM) 形式のファイルです。ブラウザーで .CHM ファイルを開けない場合、Windows エクスプローラーを使用して、Docs ディレクトリーでファイル名をダブルクリックしてください。

各ドキュメントに簡単にアクセスできるように、ドキュメント・インデックスが提供されています。ドキュメント・インデックスは、<install-dir>Compiler\Fortran\10.0.xxx\Docs\Doc_Index.htm で、インテル® Visual Fortran コンパイラーのプログラムフォルダーにあります。本リリースでは、Doc_Index.htm ファイルで説明されているようにオンラインヘルプの構成が変更され、インストール・ガイドと入門ガイドが別になりました。 『Intel® Debugger Manual』(英語) は、インテル® デバッガーのプログラムフォルダーにあります

Microsoft Visual Studio を使用するアプリケーションのビルドについては、コンパイラー・ドキュメントの「アプリケーションのビルド」 > 「Microsoft* Visual Studio* からのアプリケーション・ビルド」を参照してください。Microsoft Visual Studio に関する詳細は、市販の Microsoft Visual Studio に同梱の『MSDN* ライブラリ』を参照してください。『MSDN ライブラリ』は、インテル® Visual Fortran に同梱の Microsoft Visual Studio Premier Partner Edition には含まれていません。オンライン・バージョンの MSDN ライブラリは、http://msdn2.microsoft.com/en-us/library/ (英語) から利用できます。また、Microsoft Download Center (http://www.microsoft.com/downloads) (英語) で "MSDN Library" を検索して、最新の MSDN ライブラリの DVD イメージをダウンロードすることもできます。

オプションの IMSL Fortran ライブラリーおよびインテル® MKL のドキュメントは、[スタート] メニューにあるそれぞれのプログラムグループから参照できます。

追加情報

関連製品とサービス

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

関連製品の一部を次にリストします。

著作権と商標について

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

インテル製品は、予告なく仕様や説明が変更される場合があります。

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

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

本資料およびこれに記載されているソフトウェアはライセンス契約に基づいて提供されるものであり、その使用および複製はライセンス契約で定められた条件下でのみ許可されます。本資料で提供される情報は、情報供与のみを目的としたものであり、予告なしに変更されることがあります。また、本資料で提供される情報は、インテルによる確約と解釈されるべきものではありません。インテルは本資料の内容およびこれに関連して提供されるソフトウェアにエラー、誤り、不正確な点が含まれていたとしても一切責任を負わないものとします。ライセンス契約で許可されている場合を除き、インテルからの文書による承諾なく、本書のいかなる部分も複製したり、検索システムに保持したり、他の形式や媒体によって転送したりすることは禁じられています。

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

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

© 2007 Intel Corporation.