Windows* 版インテル(R) Visual Fortran コンパイラは、すべてのインテル IA-32 プロセッサおよびインテル(R) Itanium(R) プロセッサに対応し、これらのプロセッサ上できわめて高速に動作するソフトウェアを生成します。インテル(R) コンパイラは、インテル(R) Pentium(R) 4 プロセッサと Pentium M プロセッサのストリーミング SIMD 拡張命令 2 (SSE2)、ハイパー・スレッディング (HT) テクノロジ インテル Pentium 4 プロセッサのストリーミング SIMD 拡張命令 3 (SSE3)、インテル Itanium 2 プロセッサのソフトウェアのパイプライン化など数々の最適化機能に対応しているほか、 プロシージャ間の最適化 (IPO) やプロファイルに基づく最適化 (PGO) によってアプリケーションのパフォーマンスを大きく向上させます。また、OpenMP* に対応し、自動並列化機能も備えるなど、マルチスレッド・コードの開発もサポートしています。
この製品には、Windows 版インテル Visual Fortran コンパイラ 8.1、インテル(R) デバッガ 8.1、インテル(R) Array Visualizer 3.1、Microsoft* Visual C++* .NET 2002/2003 開発環境への統合、Information Reporter、およびコード・カバレッジ・ツールとテスト・プライオリタイゼーション・ ツールが含まれています。
Windows 版インテル Visual Fortran コンパイラには、3 つのコンパイラがあります。1 つ目のコンパイラは、IA-32 システムで動作し、IA-32 システムで動作するアプリケーションを生成します。2 つ目のコンパイラは、IA-32 システムで動作し、Itanium ベース・アプリケーションを生成します。3 つ目のコンパイラは、Itanium ベース・システムで動作し、Itanium ベース・アプリケーションを生成します。
インテル・デバッガは、IA-32 システムと Itanium ベース・システムの両方で動作し、コマンドライン・インターフェイスを使用して、各プラットフォームでアプリケーションのネイティブなデバッグを行います。
.mod ファイルを生成するバージョンを含む、以前のバージョンのコンパイラでコンパイルされたすべての Fortran ソースを再コンパイルする必要があります。サードパーティのライブラリや .mod ファイルを使用している場合、互換性のあるバージョンをライブラリ・ベンダから入手してください。サードパーティのライブラリの更新で問題が発生した場合は、インテル(R) プレミア・サポートまでお知らせください。Compaq* Visual Fortran (CVF) を使用していた場合、デフォルト・プロシージャの呼び出しおよび命名規則が CVF とは異なる点に注意してください。他のバージョンの Fortran コンパイラとの互換性に関しては、インテル・プレミア・サポート、または http://developer.intel.com/jp/developer/software/products/index.htm の説明を参照してください。
この製品には次のコンポーネントが含まれています。
<インストール先ディレクトリ>\Compiler80\docs\fcompindex.htm
) が提供されています。テクニカル・サポートを受けたり、製品の更新モジュールを入手するには、製品を登録する必要があります。
バージョン 8.1 は、インテル Visual Fortran のマイナー・アップデートです。このリリースの主目的は、コンパイラの安定性とランタイム・パフォーマンスの向上です。
次の新しい定義済みプリプロセッサ・シンボルが利用可能になりました。
__INTEL_COMPILER_BUILD_DATE
は、YYYYMMDD 形式でコンパイラのビルド日付を指示します。この日付は、バージョン・バナーに表示されるビルド日付と同じです。この定義済みマクロを使用して、インテル・コンパイラの特定のアップデートに対応するように、コードを条件付きにすることができます。YYYYMMDD 文字列の値は、新しいリリースに合わせて変更されます。/Qzero
の実装/Qzero
オプションが実装されました。このオプションを指定すると、プログラムが実行された際に、コンパイラはローカル (COMMON 以外)、スタティック (割り当て可能または自動でない)、スカラ (配列または派生型でない) 変数の値をゼロに初期化します。これは、変数が DADA ステートメント中で命名され、初期値がゼロの場合と同じです。
/fast
の意味の変更バージョン 8.1 では、/fast
を指定すると、オプション /O3 /Qipo /QxP
が指定されます。
/QipoN
オプション以前のバージョンでは、/Qipo
を指定してマルチファイル IPO 実行すると、リンカへの入力として 1 つのオブジェクト・ファイルのみが生成されていました。これは、バージョン 8.1 でもデフォルトの動作です。バージョン 8.1 で新しくなったのは、リンカへの入力用に複数のオブジェクト・ファイルをコンパイラが作成できるようになった点です。この機能により、大規模なアプリケーションではリンク時間が短くなることがあります。生成されるオブジェクト・ファイルの最大数を指定するには、/QipoN
オプション (N
は作成されるオブジェクト・ファイルの最大数) を使用します。例えば、/Qipo4
は最大 4 つのオブジェクト・ファイルを指定します。コンパイラは、アプリケーションのサイズに応じて、最大数以下のファイルを作成します。/Qipo0
が指定されると、コンパイラは、アプリケーションの合計サイズに基づいて、オブジェクト・ファイルの適切な数を選択します。
BLOCK DATA
サブプログラムの禁止コンパイル中に 2 つ以上の名前を指定されていない BLOCK DATA サブプログラムがあると、Fortran 標準に従って、エラーになります。
KMP_SCHEDULE
環境変数 新しい環境変数 KMP_SCHEDULE
は、OpenMP でチャンクサイズを指定することなく静的にスケジュールされる並列ループの負荷のバランス調整に使用することができます。デフォルト値は KMP_SCHEDULE="static,greedy"
です。反復結果 (#iterations/#threads) は切り上げられてほとんどのスレッドに割り当てられますが、最後のスレッドに割り当てられる反復回数は少なくなります。これは、以前のコンパイラの動作に相当します。別の値 KMP_SCHEDULE="static,balanced"
を使用すると、反復結果は切り捨てられてほとんどのスレッドに割り当てられ、いくつかのスレッドに割り当てられる反復回数は他のスレッドよりも 1 回多くなります。スレッドに割り当てられる最大の反復回数は同じですが、各スレッドの反復回数が平均化することで、パフォーマンスの向上につながることがあります。
例えば、4 つのスレッドで反復回数が 9 回のループを実行すると、次のようになります。
|
反復回数 |
|||
スレッド 0 |
スレッド 1 |
スレッド 2 |
スレッド 3 |
|
|
3 |
3 |
3 |
0 |
|
3 |
2 |
2 |
2 |
これらのオプションの情報は、『コンパイラ・オプション・クイック・リファレンス・ガイド』の「新規オプション」を参照してください。
インテル Visual Fortran コンパイラ 8.0 は、インテル Fortran と Compaq* Visual Fortran の最高のテクノロジを組み合わせた新世代のインテル Fortran コンパイラです。Fortran 言語機能を提供し、Fortran 特有の最適化を行う、コンパイラの "フロントエンド" には、Compaq Visual Fortran のテクノロジが採用されています。Fortran ランタイム・ライブラリ (I/O および数値演算以外の組込み関数) も、Compaq Visual Fortran のテクノロジが採用されています。コンパイラの "バックエンド" には、インテル・プロセッサ上で最高のパフォーマンスを実現するべく、インテルの最新のハイパフォーマンスなコード生成と最適化テクノロジが採用されています。
新しいインテル Pentium 4 プロセッサは、複素数データ型、浮動小数点から整数への変換、および水平加算を含むベクトル化ループのパフォーマンスを向上させる新しいストリーミング SIMD 拡張 3 (SSE3) 命令セットをサポートしています。
Windows 版インテル Visual Fortran コンパイラ 8.0 では、SSE3 をサポートするインテル・プロセッサ用の最適化機能が追加されました。この機能を使用するには、/QxP
または /QaxP
オプションを指定します。詳細は、『インテル(R) Fortran コンパイラ・ユーザーズ・ガイド』の「最適化」のセクションを参照してください。
このリリースでは、2 つの新しいコード生成オプションが追加されました。/QxB
および /QaxB
は、インテル Pentium M プロセッサで最高のパフォーマンスを引き出すコードを生成するようにコンパイラに指示します。新しい /QxN
および /QaxN
オプションは、すべてのインテル Pentium 4 プロセッサ向けに最適化します。Pentium 4 プロセッサで最高のパフォーマンスを引き出すため、新しい /QxN
および /QaxN
オプションを使用することを推奨します。Pentium M プロセッサの場合は、/QxB
または /QaxB
オプションを使用してください。詳細は、『インテル(R) Fortran コンパイラ・ユーザーズ・ガイド』の「最適化」のセクションを参照してください。
最適化オプション /Q[a]xi
(Pentium Pro および Pentium II 用に最適化) および /Q[a]xM
(MMX(R) 命令セット用に最適化) は、最新のインテル Fortran コンパイラではサポートされていません。これらのオプションがコンパイラのコマンドラインで指定されると、メッセージが表示され、オプションは無視されます。/Q[a]xi
または /Q[a]xM
オプションを使用している場合、これらのオプションの使用を中止してください。デフォルトで生成される汎用コードは、Pentium プロセッサ上でも新しい IA-32 プロセッサ上でも動作します。
/Q[a]xW
(Pentium 4 用の低い最適化レベル) は、将来のバージョンで削除される予定です。インテル Pentium 4 プロセッサ用のコードを生成する場合は、/Q[a]xW
のかわりに /Q[a]xN
オプションを使用してください。
詳細は、『インテル(R) Fortran コンパイラ・ユーザーズ・ガイド』の「最適化」のセクションを参照してください。
次のセクションでは、ソースコードやビルド方法の変更が必要となる、8.0 以前のバージョンからの動作の変更について説明します。
インテル Visual Fortran のコマンド名が ifort
に変更されました。Compaq Visual Fortran では、コマンド名に df
が、インテル Fortran の以前のバージョンでは、コマンド名に ifl
または efl
が使用されていました。インテル Visual Fortran 8.0 でも、efl、ifl
および df
コマンド名を使用することができます。しかし、インテル Visual Fortran の将来のバージョンでは、ifort
コマンド名以外は使用できなくなる予定です。
インテル Visual Fortran 8.0 は、Microsoft Visual C++ .NET* (2002 または 2003) との統合をサポートしています。Compaq Visual Fortran 6.6 は、Microsoft Visual C++* 6.0 (Visual C++ 98) との統合はサポートしていましたが、Visual C++ .NET との統合はサポートしていませんでした。Microsoft Visual C++ 6.0 との統合はインテル Visual Fortran 8.0 ではサポートされていません。
インテル Visual Fortran とインテル(R) C++ コンパイラの両方をインストールした場合、各製品ファイルが別々のフォルダ (Fortran
および cc
サブフォルダ) にインストールされます。これは、インテル・コンパイラの前のリリースからの変更です。コマンドラインから言語が混在したアプリケーションを作成していて、インストール時にシステム環境変数を更新しなかった場合、PATH、LIB、および INCLUDE 環境変数が正しく定義されるように、他の言語の初期化バッチファイル (ifortvars.bat
または iccvars.bat
) を実行する必要があります。注: Fortran と C++ を同じフォルダにインストールすると、プロシージャ間の最適化 (IPO) やプロファイルに基づく最適化 (PGO) を使用してアプリケーションをビルドする際に問題が発生します。
HP* OpenVMS* Fortran コンパイラとの互換性を指定する /Qvms
コンパイラ・オプションの効果が変更されました。インテル Fortran の以前のバージョンでは、このオプションは文字リテラル中で \n
を新しい行として認識できないようにして、書式なしファイルの RECL のデフォルトのサイズを 4 バイトに設定していました。バージョン 8.0 では、これらの処理に対して別々のスイッチ (/assume [no]bscc
および /assume [no]byterecl
) が追加されました。/Qvms
オプションの効果の詳細は、『インテル(R) Visual Fortran コンパイラ・ユーザーズ・ガイド』の「/Qvms
」の説明を参照してください。
インテル Fortran の以前のバージョンでは、書式なしファイルのデフォルトの RECL= の単位はバイトでした。バージョン 8.0 では、Compaq Fortran のデフォルト (4 バイト) 単位を採用しました。コンパイラ・オプション /assume byterecl
を追加すれば、1 バイト単位で指定することもできます。
これまでライブラリ・ルーチンとして解釈されていたコマンドライン照会ルーチン GETARG、IARGC
および NARGS
は、組込みプロシージャとして解釈されるように変更されました。アプリケーションでこれらのルーチンを EXTERNAL
として宣言している場合、またはこれらのルーチンへの明示的なインターフェイスを用意している場合、宣言およびインターフェイス部分を削除しないとビルドに失敗します。
LOGICAL 表現における true
と false
の値がインテル Fortran の以前のバージョンで使用されていた値から変更されました。インテル Fortran の以前のバージョンでは、整数表現が LOGICAL として解釈された場合、ゼロは .FALSE.
、ゼロ以外の値は .TRUE.
として解釈されていました。インテル Visual Fortran コンパイラ 8.0 では、偶数の整数値が .FALSE.
、奇数の整数値が .TRUE.
として解釈されるように変更されました。さらに、論理定数 .TRUE.
の値が、インテル Fortran の以前のバージョンで使用されていた 1
ではなく -1
に変更されました。この変更は Compaq Visual Fortran の仕様と一致するように行われたものですが、/fpscomp:logicals
コンパイラ・オプションを使用してインテル Fortran の以前のバージョンの仕様に戻すこともできます。
インテル Fortran の以前のバージョンでは、8 バイトの数値変数が自然境界でアライメントされるように COMMON 中の変数間で 7 バイトまでのパディングを行っていました。しかし、これは Fortran 標準の規則には沿っていません。バージョン 8.0 では、デフォルトで COMMON ブロック中の変数間にパディングを挿入しないように変更されました。アライメントされていない数値変数が見つかった場合、コンパイラは警告メッセージを発行します (/warn:noalign
が指定されている場合を除きます)。この変更は、アプリケーション名以外で COMMON 中の変数にアクセスするアプリケーション (例えば、COMMON が C extern
で共用されている場合) を除けば、ほとんどのアプリケーションでは影響はありません。これまでと同じように、COMMON 中の変数がパディングされるようにするには、/align:commons
(4 バイト境界までアライメント) または /align:dcommons
(8 バイト境界までアライメント、バージョン 7.1 と同じ) を指定してください。
この変更により、Windows を使用している Itanium ベース・システムで問題が発生することがあります。コンパイラは、ルーチンのダミーのアライメントを自然にアライメントされたものと仮定して、自然のアライメントを前提とした命令を生成します。アライメントされていない変数がルーチンに渡され、アライメントされていない参照が行われた場合、オペレーティング・システムはパフォーマンスが低下しても命令で正確な結果が得られるように "修正ハンドラ" を起動するべきです。しかし、このドキュメントの作成時点では、Itanium プロセッサ用の Windows でこの修正を行うバージョンは存在しないため、得られる結果は不正確になります。Itanium システムで Windows を使用している場合、引数として渡される COMMON 変数が自然にアライメントされていることを確認してください。コンパイラは、ローカル変数を派生型と同じように自動的にアライメントします。
Compaq Visual Fortran プログラムで QuickWin およびその他のライブラリ・ルーチンの宣言に使用されていた DFLIB は、モジュールをインポートする IFQWIN (QuickWin)、IFCORE (GETCHARQQ などの QuickWin 以外のルーチン)、および IFPORT (Unix ポータビリティ・ライブラリ) の 3 つの USE 文で構成されるようになりました。Compaq Visual Fortran では DFPORT という別のモジュールだった IFPORT が追加されたことで、DATE や TIME のようなローカル変数名を制限するアプリケーションなどで、命名の競合が発生します。この問題が発生した場合、USE DFLIB を USE IFQWIN や USE IFCORE に変更するか、ONLY キーワードを使用するか、構文の名前を変更して、名前の競合を避けてください。
RANDOM_NUMBER 組込み関数の実装が変更されました。新しい実装では、キーの長さ 2 を使用します。RANDOM_SEED を使用してシードを設定するプログラムは、適切に記述されていれば、その差に気付くことはありません。
引数なしで RANDOM_SEED を呼び出すと現在の時間に基づいた値にシードが設定されるため、RANDOM_NUMBER を呼び出すプログラムを連続して実行すると、セットの値は異なります。各実行で同じセットの値が必要な場合、RANDOM_SEED を使用して固定値のシードを設定してください。
Fortran Windows Application
をサポート Fortran Module Wizard
の追加。Visual Studio* の [ツール] メニューから使用できます。TRACEBACKQQ
ルーチンのサポート MYINC
の値が "C:\MyIncludes\
" の場合、Fortran 文: INCLUDE "%MYINC%common_defs.inc"
は、ファイル C:\MyIncludes\common_defs.inc
をインクルードします。インテル・コンパイラのコード・カバレッジ・ツールは、インテル・コンパイラのプロファイルに基づく最適化テクノロジを利用して、開発者に特定のワークロードにおけるアプリケーション・コードのカバレッジの全体像を呈示します。ツールはアプリケーションのコード・カバレッジを把握するために、コンパイラにより生成された静的プロファイル情報と、ユーザのインストルメント済みバイナリをワークロードで実行した結果、生成される動的プロファイル情報を組み合わせます。カバレッジ・ツールは、この情報とアプリケーションのソースを併用して、コード・カバレッジが色付きの注釈で強調表示された HTML ページを作成します。また、アプリケーションのファイルと関数を並べ替えて、カバレッジの低いモジュールと関数を簡単に識別できるフレームを作成します。コード・カバレッジは、任意のブラウザを使用して表示できます。
インテル・コンパイラのコード・カバレッジ・ツールをさまざまな方法で活用して、開発効率を改善し、問題を減少し、アプリケーションのパフォーマンスを向上させることができます。ツールをテストスペースのアプリケーション・プロファイルに適用すると、カバレッジ情報に基づいてテストの全体の質を測定することができます。同様に、パフォーマンス・ワークロードのプロファイルに適用すると、コード・カバレッジ情報により実行されたワークロードが、アプリケーションの重要なコードをどの程度カバーするかを把握できます。インテル・コンパイラが提供するプロファイルに基づく最適化の利点を享受するには、パフォーマンス・クリティカルなモジュールの高いカバレッジが必要です。また、このツールは、アプリケーションの各基本ブロックの動的実行カウントを表示して、カバレッジとパフォーマンス・チューニングの両方に有用な情報を示すオプションを提供します。カバレッジ・ツールは、アプリケーションの 2 つの異なる実行におけるプロファイルを比較できます。この機能は、アプリケーションがカスタマなどによってテストスペース外で実行される場合、アプリケーションのテストでカバーされないアプリケーションのコードの部分を検索するのに使用することができます。
インテル・コンパイラのコード・カバレッジ・ツールは、Windows/Linux 上の IA-32 プロセッサ・ファミリおよび Itanium プロセッサ・ファミリでサポートされます。また、C、C++、および Fortran をシームレスにサポートします。
テスト・プライオリタイゼーション・ツールは、インテル・コンパイラのプロファイルに基づく最適化テクノロジを利用して、以前のアプリケーションの実行プロファイルを基に、アプリケーションのテストの選択と重要度付けを行います。ユーザは、このツールを使用して、アプリケーションのコードのサブセットに対してより適切なテストを選択し、重要度付けを行うことができます。アプリケーションの特定のモジュールが変更されると、テスト・プライオリタイゼーション・ツールはそのセットの変更によって最も影響を受けるテストを示唆します。また、以前に実行されたアプリケーションのプロファイル・データを分析して、アプリケーションのコンポーネントとテストの依存性を確認し、この情報を基にテストのプロセスをガイドします。このツールは、アプリケーションのコード・カバレッジを基に、効率的なテスト階層を作成するのに使用できます。例えば、テストの全体をカバーするアプリケーション・テストの最小サブセットを定義します。また、テストのターンアラウンド時間を大幅に短縮します。長い時間を費やして多くの失敗を見つける代わりに、ユーザは、セットの変更によって問題が発生する少数のテストをすばやく見つけられます。このツールはまた、テストがボトルネックとなる大規模なアプリケーションのテストと開発に要する時間を大幅に短縮するのに役立ちます。アプリケーションの任意のサブセットで全体をカバーするために必要なテストの数を最小限にし、 さらに、テストの実行時間が決まっている場合は、特定のレベルのコード・カバレッジを最小限の時間で達成するテストを選択して重要度付けを行うことができます。
インテル・コンパイラのテスト・プライオリタイゼーション・ツールは、Windows/Linux 上の IA-32 プロセッサ・ファミリおよび Itanium プロセッサ・ファミリでサポートされます。また、C、C++、および Fortran をシームレスにサポートします。
詳細に関しては、次のリンクを参照してください: http://www.intel.com/software/products/compilers/techtopics/pgt.htm (英語)
Linux 版インテル Fortran コンパイラ 7.0 で追加されたインテル・デバッガ (idb
) が Windows でも利用可能になりました。インテル・デバッガは、Itanium プロセッサを搭載しているシステムを含む、Windows 環境用の完全なシンボリック・コマンドライン・デバッガです。次の特徴があります。
デバッガは、C、C++ および Fortran で記述されたプログラムのデバッグをサポートしています。デバッガは、ソース・プログラミング言語の構文を使用して式を評価します。
インテル・デバッガには、グラフィカル・ユーザ・インターフェイスも搭載されています (IA-32 システムのみ)。インテル・デバッガの使用方法、既知の問題と制限に関する情報は、インテル・デバッガのリリースノートおよびマニュアルを参照してください。
インテル Array Visualizer は、Windows 版インテル Fortran コンパイラ 7.0 で最初に採用されました。Array Visualizer は、データを 2D または 3D プロットとしてインタラクティブに視覚化することができます。Array Visualizer を使用して、次のことを行うことができます。
インテル Array Visualizer の使用方法、既知の問題と制限に関する情報は、インテル Array Visualizer のリリースノート (製品のインストール後に参照できます) およびインテル Array Visualizer オンライン・ヘルプを参照してください。
.il
)IPO で生成された各 .il ファイルには、バージョン番号が割り当てられます。コンパイラは、同じバージョンの .il
ファイルのみを処理します。バージョン番号はビルド処理の一部として、自動的に生成され、更新されます。
c:\Program files\Microsoft SDK\redist\win64
) の DLL ファイルも実行時に必要になることがあります。アプリケーションで使用している機械語命令が特定のオペレーティング・システムやプロセッサでサポートされているかどうかはアプリケーション開発者の自己責任で確認してください。例えば、ストリーミング SIMD 拡張命令を使用したプログラムを実行するには、Windows NT 4.0 (SP6 以上)、Windows 2000、Windows XP または Windows Server 2003 のいずれかとインテル Pentium III プロセッサ以降の組み合わせが必要です。インテル Pentium 4 プロセッサのストリーミング SIMD 拡張命令 2 およびストリーミング SIMD 拡張命令 3 を使用する際も、上記のオペレーティング・システムが必要となります。
インテル Visual Fortran コンパイラをインストールするには、Administrators グループに所属しているアカウントを使用する必要があります。しかし、少なくとも "Users"
または "Debugger Users"
グループに所属していれば、Visual C++ .NET IDE またはコマンドラインからインテル Visual Fortran コンパイラを使用することができます。
注: インテル Visual Fortran コンパイラのデフォルトのインストール・ディレクトリは、C:\Program Files\Intel\Fortran\
です。バージョン 8.1 はバージョン 8.0 を置換して 8.0 と同じディレクトリ名を使用するため、スクリプトやショートカットを変更する必要はありません。
IA-32 コンパイラを使用して Itanium ベース・アプリケーションを生成する場合、コンパイラをインストールする前に IA-32 開発システムに Microsoft Platform SDK をインストールする必要があります。
Itanium ベース・コンパイラを使用して Itanium ベース・アプリケーションを生成する場合、コンパイラをインストールする前に Itanium ベース・システムに Microsoft Platform SDK をインストールする必要があります。
注: インテル Fortran コンパイラ 7.x を Microsoft Visual C++.NET と統合してインストールしている場合、インテル Visual Fortran コンパイラ 8.1 をインストールする前にインテル Fortran 7.x と Visual C++.NET との統合を削除する必要があります。次の操作を行います。
注: インテル Fortran コンパイラ 7.x からインテル Array Visualizer コンポーネントをインストールした場合、インテル Visual Fortran コンパイラ 8.1 をインストールする前にこれらのコンポーネントをアンインストールする必要があります。
推奨するインストールの順序は次のとおりです:
Microsoft Visual C++ .NET 2002 または 2003 (スタンダード版以上) をインストールします。
Microsoft Platform SDK (Itanium ベース・アプリケーションの開発時のみ) をインストールします。
インテル Fortran コンパイラ 7.x の VC++ .NET 2002 または 2003 との統合を削除します (インストールされている場合)。
インテル Visual Fortran コンパイラ 8.0 または 8.1 の以前のバージョンをアンインストールします。アンインストール方法については、「コンパイラのアンインストール」セクションを参照してください。
インテル Visual Fortran コンパイラ 8.1 のインストール
インテル Visual Fortran コンパイラ 8.1 は、インテル Fortran コンパイラ 6.0.1 および 7.1 がインストールされているシステムにインストールすることができます。インテル Visual Fortran コンパイラ 8.1 は、インテル Visual Fortran コンパイラ 8.0 を置換します。
ライセンスのインストール
インテル Visual Fortran コンパイラは、Macrovision 社の FLEXlm* 電子ライセンス・テクノロジを使用しています。ライセンスの管理は透過的に行われます。インテル Visual Fortran コンパイラ 8.1 のインストール・プログラムは、製品コンポーネントをインストールする前に有効なライセンスをチェックします。また、プログラムのコンパイル時とビルド時にもライセンス・ファイルのチェックを行います。
注: サポート・サービスの有効期間内であれば、Windows 版インテル Fortran コンパイラの既存のライセンスをバージョン 8.1 でもそのまま使用できます。
インストール前に、以下の手順に従ってライセンス・ファイルをセットアップしてください。
.lic
" です。C:\Program Files\Common Files\Intel\Licenses\
です。サポート・サービス・ライセンスの詳細は、http://www.intel.com/software/products/compilers/flin/pricelist.htm (英語) を参照してください。
インテル Visual Fortran コンパイラのインストール
パッケージのダウンロードが完了したら、ダウンロードした実行ファイル (例えば、w_fc_p[c]_8.1.xxx.exe
) を実行するだけです。
[Typical]
インストールを選択すると、インテル Array Visualizer を含む、すべてのコンポーネントがインストールされます。[Custom]
インストールを選択してインテル Array Visualizer をインストールしないようにすることもできますが、デバッガから配列データを表示する機能は利用できなくなります (『インテル(R) Visual Fortran コンパイラ・ユーザーズ・ガイド Vol I』の「デバッグ」セクションを参照してください)。インテル Visual Fortran とインテル C++ コンパイラの両方をインストールした場合、インテル・デバッガが 2 つインストールされます。デバッガのバージョンに関係なく、最後にインストールされたバージョンがデフォルトで使用されます。
インテル Visual Fortran コンパイラ 8.1 のインストール・プログラムは、製品コンポーネントをインストールする前に有効なライセンスをチェックします。まず最初に、INTEL_LICENSE_FILE
環境変数で指定されているフォルダで有効なライセンスを検索します。有効なライセンスが見つからない場合、前のステップで作成した有効なライセンス・ファイルの情報を入力するようにダイアログ・ボックスが表示されます。
ライセンスのチェックが終わったら、セットアップ・プログラムの指示に従ってインストールを完了させます。
コンパイラの実行に関して問題が発生した場合は、有効なライセンス・ファイル (*.lic
) がライセンス・ディレクトリに含まれていることを確認してください。有効なライセンスがあるのに問題が解決しない場合は、プレミア・サポートまでご連絡ください。詳細は、「テクニカル・サポート」を参照してください。
インテル Visual Fortran コンパイラ 8.1 のライセンスは、以前のバージョンのインテル・コンパイラのライセンスがインストールされている場合でもインストールすることができます。インテルでは、現在、FCompW
という名前でライセンスを発行しています。コンパイラは FCompW
と以前の FComp
という名前も受け付けますが、コンパイラがライセンスを取得できない場合、エラー・メッセージでは FCompW
と表示されます。
Windows 版インテル Visual Fortran コンパイラ 8.1 を完全にアンインストールするには、[コントロール パネル] から [アプリケーションの追加と削除] (Windows XP の場合は [プログラムの追加と削除]) を選択して、次のプログラムをアンインストールする必要があります。
注: インテル Visual Fortran コンパイラをアンインストールしても、対応するライセンス・ファイルは削除されません。
インテル Visual Fortran コンパイラは、コマンドラインから、または Microsoft Visual C++ .NET 2002/2003 IDE から使用することができます。
インテル Visual Fortran コンパイラをコマンド・ウィンドウから使用する最も簡単な方法は、[スタート] > [プログラム] > [Intel(R) Software Development Tools] > [Intel(R) Fortran Compiler 8.0] > [Build Environment for Fortran IA-32 applications] を選択してコマンド・ウィンドウを開く方法です。環境が自動的に設定されます。または、<インストール・ディレクトリ>\Compiler80\ia32\bin\ifortvars.bat
を実行して標準のコマンド・ウィンドウを開くことができます。インテル Fortran コンパイラを使用するための環境も正しく設定されます。同じコマンド・ウィンドウからインテル C++ コンパイラを使用する必要がある場合は、<インストール・ディレクトリ>\Compiler80\ia32\bin\iclvars.bat
を実行します。注: リンカが正しい Fortran ランタイム・ライブラリを取得するように、ifortvars.bat
は iclvars.bat の後に実行してください。
コンパイラの実行に関して問題が発生した場合は、有効なライセンス・ファイル (*.lic) がライセンス・ディレクトリに含まれていることを確認してください。有効なライセンスがあるのに問題が解決しない場合は、プレミア・サポートまでご連絡ください。詳細は、「テクニカル・サポート」を参照してください。インテル Visual Fortran コンパイラ 8.1 のライセンスは、以前のバージョンのインテル・コンパイラのライセンスがインストールされている場合でもインストールすることができます。
インテル Fortran コンパイラ 7.x を VC++ .NET と統合してインストールしている場合、インテル Visual Fortran コンパイラ 8.1 をインストールする前にインテル Fortran 7.x と VC++ .NET との統合を削除する必要があります。[アプリケーションの追加と削除] (Windows XP の場合は [プログラムの追加と削除]) で [Intel(R) Fortran Compiler 7.1] を選択して [変更と削除] ボタンを使用します。Visual Studio との統合を解除して、変更処理を完了します。
Visual C++.NET をインストールするときにユーザがシステムの環境変数を更新するオプションを選択した場合、インストールしているユーザ名のユーザ変数も更新されます。インテル Visual Fortran は、Microsoft の推奨に従って、システム変数のみを更新しています。このため、インテル Visual Fortran をインストールしたユーザが環境変数のショートカットを使用しないで (または ifortvas.bat
を起動しないで)、コマンド・プロンプトから Fortran アプリケーションをビルドすると、デフォルト・ライブラリ、インクルード・ファイル、およびモジュールは見つかりません。この問題を解決するには、ユーザ環境変数 INCLUDE
および LIB
を削除してください。この問題は、IDE からビルドする場合には発生しません。
デフォルトの CVF 呼び出し規則を使用する CVF V6 プロジェクトを変換すると、変換後のプロジェクトの呼び出し規則は CVF に設定されます。言語の混在したアプリケーションを開発していなければ、この設定はデフォルトに戻すことができます。
[Fortran AppWizard]
ダイアログに [Help]
ボタンはまだ実装されていません。
[Fortran AppWizard] ダイアログに "Application will use ActiveX controls"
オプションはまだ実装されていません。
数値演算ライブラリ組込み関数でエラーをトラップするためにライブラリ・ルーチンで使用される、ユーザルーチン MATHERRQQ
のサポート
ランタイム時の整数オーバーフローをトラップする /check:overflow
オプション
0.0 のべき乗時にエラーを知らせる /check:power
オプション
ソース・リスト・ファイルを提供する /list
オプション
Fortran COM Server プロジェクト・テンプレート
Fortran COM Server Wizard
既存のプロジェクトから新規プロジェクトにコンパイラ・オプションのセットを適用する機能 (Save Fortran Environment)
アプリケーションを簡単に配布できる VFRUN
自己インストール実行ファイル
インテル Visual Fortran サンプルはまだ含まれていません。
Source Browser クロス・リファレンス・ツール
ランタイムの正確さをチェックする /CA、/CS、/CU
および /CV
オプション (配列と文字列境界を確認する /CB
は利用可能です)。
コンパイル時の配列境界警告を有効にする /WB
オプション (オプションを指定することはできますが無視されます)。
!DEC$ ATTRIBUTES ALIGN
が ALLOCATABLE/POINTER
変数でサポートされない!DEC$ ATTRIBUTES ALIGN ディレクティブは、現在、ALLOCATABLE または POINTER 属性の変数では無視されます。
IMSL* ライブラリ (プロフェッショナル・エディションに同梱) は、IA-32 システム上で動作する、Itanium ベース・アプリケーション用のインテル Fortran コンパイラ (クロス・コンパイラ) には対応していません。IMSL は、Itanium ベース・システム用ネイティブ・コンパイラに対応しています。
このバージョンでは、Itanium ベース・システム用インテル・デバッガにはグラフィカル・ユーザ・インターフェイス (GUI) は含まれていません。将来のバージョンでは GUI を提供する予定です。
(/Qax*
) 使用時のデバッグ情報の制限/Qax{W|N|B|P}
を使用してコンパイルを行うと、各関数について IA-32 ジェネリック・コードと CPU 特有のコードの 2 種類のコードが生成されます。各関数のシンボルは自動 CPU ディスパッチ・ルーチンを参照して、ランタイムに実行するコード・セクションを決定します。これらの関数にデバッガのブレークポイントが名前でセットされると、ディスパッチ・ルーチンでアプリケーションが停止します。その結果、デバッグ時に予測できない動作が発生します。この問題は、インテル・デバッガおよびインテル・コンパイラの将来のバージョンで修正される予定です。
/Oy
オプションを使用してビルドされた IA-32 プログラムをデバッグまたはトレースバック表示できない/Oy
を使用してコンパイルを行うと、IA-32 EBP レジスタはフレーム・ポインタではなく汎用レジスタとして使用されます。デバッガおよびトレースバック・ハンドラは、この方法でコンパイルされた関数への呼び出しを含むスタックから適切にスタックを戻すことができません。
次の状況でインテル Visual Fortran で作成したアプリケーションを実行すると、"entry point not found in LIBMMD.DLL"
エラー (DLL 名が LIBMMDD.DLL
の場合もあります) が発生します:
このエラーは、インテル Fortran コンパイラ 7.0/7.1 で提供されている数値演算ライブラリ DLL とインテル Visual Fortran コンパイラ 8.1 で提供されている数値演算ライブラリ DLL が一致していないために発生します。インストールの順序によって、DLL を検索するパスが他のバージョンの DLL を使用するように設定されてしまうことが原因です。
この問題を解決するには、エラー・メッセージで表示された DLL を適切なバージョンの BIN フォルダ (Program Files\Intel\Compiler70\bin
または Program Files\Intel\Fortran\Compiler80\bin
のいずれか) から実行している EXE
と同じフォルダにコピーしてください。この問題は、将来のバージョンで解決される予定です。
インテル Fortran コンパイラ 8.x で生成されたコードは、以前のバージョンよりも多くのスタック空間を使用します。実行ファイルがリンクされた場合、スタックの予約割り付け量を増やす必要があります。コマンドラインから、/link /stack:n
を使用します。ここで、n
はスタックのサイズ (バイト単位)。デフォルトは 1MB (1048576 バイト) です。IDE を使用している場合は、プロジェクトのプロパティから、[Linker] > [System] > [Stack Reserve Size] を選択して設定できます。
次の問題は、将来のバージョンで解決される予定です。
/Qipo1
を指定しても複数のオブジェクト・ファイルが生成される /QipoN
を指定して生成されるオブジェクト・ファイルの数を明示的に指定しても、分割に関するコンパイラのヒューリスティックはオンのままで、オブジェクト・ファイルが大きくなると、2 つのオブジェクト・ファイルに分割されます。
このため、現時点では、/Qipo1
を使用してオブジェクト・ファイルの数が 1 になるように明示的に指定しても、ファイルの分割を防ぐことはできません。
/Qqipo_separate
が xilink
および xild
で認識されない /Qqipo_separate
オプションは xilink
で認識されません。これは、このオプションを使用した IPO コンパイルが失敗するためです。
/Qipo
オプションで指定した .obj および .asm ファイルの明示的な名前が無視される/Qipo_c
または /Qipo_S
(.obj または .asm ファイルの名前を明示的に指定する) オプションを使用してファイル名を明示的に指定した場合、コンパイラは複数のオブジェクトを生成するときにこれらの指定を無視します。
/Qipo_S
で生成された asm ファイルが複数オブジェクト IPO でアセンブルできないアセンブラは、呼び出されているルーチンが定義されていないと解釈します。
各ツールの最新バージョンにおける既知の制限事項および注意事項については、以下のリンク先を参照してください。
インテルでは、お客様からのフィードバックを非常に重視しております。本製品で提供されるツールについてのテクニカル・サポートおよび FAQ や製品のアップデート情報を含むテクニカル情報を受けるには、https://premier.intel.com (英語) でインテル・プレミア・サポート・アカウントに登録してください。http://support.intel.com/support/performancetools/support.htm (英語) で [Registration Center]
をクリックして登録します。
インテル Visual Fortran コンパイラのユーザ・フォーラム、FAQ、ヒント、およびその他のサポート情報は、http://support.intel.com/support/performancetools/fortran/windows/ (英語) を参照してください。サポート情報全般については、http://www.intel.com/software/products/support/ (英語) を参照してください。
[Submit]
ボタンをクリックします。[I Accept]
ボタンを押します。[Product]
ドロップダウン・リストの隣の [Go]
ボタンをクリックします。[Submit Issue]
リンクをクリックします。[Product Type]
ドロップダウン・リストから [Development Environment (tools,SDV,EAP)]
を選択します。[Product Name]
ドロップダウン・リストから [Intel(R) Fortran Compiler for Windows*]
を選択します。ifort
を使用してパッケージ ID を取得することもできます。次のように、コマンド・ウィンドウからコンパイラ (ifort
) を実行します: >> ifort
w_fc_p[c]_8.1.xxx
) をプレミア・サポートの適切なフィールドにコピーします。また、問題の解決に役立つと思われる事項はすべてお伝えください。コンパイラの最新バージョンで修正された問題点については、インテル・プレミア・サポート (https://premier.intel.com)(英語) からダウンロードできる <パッケージ ID>_README
(例: w_fc_p[c]_8.1.xxx_README
) を参照してください。
インテル・コンパイラのドキュメントおよび HTML ベースの関連ドキュメントは、ナビゲーション、インデックス検索、およびハイパーテキスト機能を備えており、ご使用の Web ブラウザでご覧になれます。
各ドキュメントに簡単にアクセスできるように、ドキュメント・インデックスが提供されています。ドキュメント・インデックスは、インテル Visual Fortran コンパイラのプログラム・フォルダ、<インストール先ディレクトリ>\Compiler80\docs\fcompindex.htm
から利用できます。インタラクティブ形式 (HTML ベース) のトレーニング用チュートリアル、『Enhancing Performance with Intel(R) Compilers』(英語) もドキュメント・インデックスのリンクからアクセスできます。『Intel(R) Debugger Manual』(英語) は、インテル・デバッガのプログラム・フォルダにあります。
注:
ドキュメント・インデックス・ファイル (
fcompindex.htm
) でリンク先が正しく表示されない場合、次の Web ページにアクセスして、使用しているオペレーティング・システム用の修正ファイルをダウンロードして適用してください:http://support.microsoft.com/default.aspx?scid=kb;JA;811630
windows.showhelp
属性を使用して HTML ヘルプ・ファイルを開く際の問題についての詳細は、http://support.microsoft.com/default.aspx?scid=kb;JA;822989 を参照してください。
『インテル(R) Visual Fortran コンパイラ・ユーザーズ・ガイド』は、次のように複数のドキュメントで構成されています。
『インテル(R) Visual Fortran オンライン・ヘルプ』は、次のドキュメントで構成されています。
ifort
コマンドライン・オプションのアルファベット順のリストを提供します。新しいオプションのリストに加えて、Compaq Visual Fortran 互換のオプションのリストも含まれています。以下のドキュメントは、Adobe Acrobat* 形式 (PDF ファイル) で提供されています:
『Enhancing Performance with Intel Compilers』は、IA-32 および Itanium ベース・システムにおけるアプリケーションの最適化に役立つコンパイラ・オプションと Itanium アセンブラについて説明するインタラクティブな HTML 形式のチュートリアルです。このチュートリアルを表示するには、[スタート] > [プログラム] > [Intel(R) Software Development Tools] > [Intel(R) Fortran Compiler 8.0] > [Compiler Performance Tutorial] を選択します。Itanium アセンブラについて説明するドキュメントも提供されます。
インテル・ソフトウェア開発製品の詳しい情報については、http://www.intel.co.jp/jp/developer/software/products/ を参照してください。
関連製品の一部を次にリストします。
本資料に掲載されている製品のうち、外国為替および外国為替管理法に定める戦略物資等または役務に該当するものについては、輸出または再輸出する場合、同法に基づく日本政府の輸出許可が必要です。また、米国産品である当社製品は日本からの輸出または 再輸出に際し、原則として米国政府の事前許可が必要です。
【資料内容に関する注意事項】
本ドキュメントの内容を予告なしに変更することがあります。
インテルでは、この資料に掲載された内容について、市販製品に使用した場合の保証あるいは特別な目的に合うことの保証等は、いかなる場合についてもいたしかねます。また、このドキュメント内の誤りについても責任を負いかねる場合があります。
インテルでは、インテル製品の内部回路以外の使用にて責任を負いません。また、外部回路の特許についても関知いたしません。
本書の情報はインテル製品を使用できるようにする目的でのみ記載されています。
インテルは、製品について「取引条件」で提示されている場合を除き、インテル製品の販売や使用に関して、いかなる特許または著作権の侵害をも含み、あらゆる責任を負わないものとします。
本書に含まれている内容は、出荷時の内容を正確に著すよう記述されていますが、製品の不具合の発見とその改良に伴い、製品および本書の内容は予告なく変更される場合があります。現在報告されているソフトウェアの不具合につきましては、お問い合わせください。
いかなる形および方法によっても、インテルの文書による許可なく、この資料の一部またはすべてを複写することは禁じられています。
著作権法で許可されている場合を除き、文書による事前の許可なく、複製、改変、または翻訳することを禁じます。無断転載を禁じます。
版権制限:米国政府による使用、複製、または開示は、DFARS 252-227-7013 の条項「Rights in Technical Data and Computer Software」の副項 (c)(I)(ii) に規定されている制限を受けます。
非 DOD U.S. Government Departments and Agencies の権利は、FAR 52.227-19(c0(1,2) に規定されています。
Intel、インテル、Itanium、MMX、Pentium、および VTune は、アメリカ合衆国およびその他の国における Intel Corporation またはその子会社の商標または登録商標です。
* その他の名称およびブランド名は、各社の商標および登録商標です。
© 2004 Intel Corporation. 無断での引用、転載を禁じます。