本資料は、インテルのウェブサイトで公開されている「Intel® Fortran Compiler Release Notes」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
このページには、インテル® Fortran コンパイラー 2026 のリリースノートとシステム要件が含まれています。メジャーバージョンごとに最新のノートから順にリストされており、各バージョンのセクションに個々のリリースの情報が記載されています。
インテル® Fortran コンパイラー (ifx) は、インテル® Fortran コンパイラー・クラシック (ifort) のフロントエンドとランタイム・ライブラリーをベースに、最新の LLVM ベースのバックエンド・コンパイラー・テクノロジーを採用しており、従来の DEC 拡張機能、優れた Fortran 標準規格のサポート、強力なコンパイラー・ディレクティブなど、馴染みのあるインテル® Fortran コンパイラー・クラシックと同じ Fortran 機能を提供します。したがって、インテルの Fortran に期待されるものがすべてが揃っています。さらに、ifx は、インテルの最新の CPU および GPU 製品向けに、OpenMP TARGET やインテル® GPU への自動 DO CONCURRENT オフロードなどの新機能を追加し、さらなる高速化を実現します。
ifx は、Fortran 2018 までの Fortran 標準規格を完全にサポートしており、一部の Fortran 2023 機能もサポートします。
インテル® Fortran コンパイラー (ifx) は、インテル® oneAPI ツールキットの一部として入手できます。
インテル® oneAPI ツールキットまたはその他の oneAPI ツールキットのサポートサービスが有効な場合は、インテル® レジストレーション・センター (英語) にログインし、製品を選択してインストーラーをダウンロードできます。アカウントの作成および製品の登録が必要な場合があります。詳細は、製品登録とサインアップ FAQ (英語) を参照してください。
注: Linux でインテル® oneAPI DPC++/C++ コンパイラー (icx) を個別にインストールした場合は、互換性の問題を回避するため、ifx を最新バージョンにアップグレードする際に、icx も ifx と同じバージョンにアップグレードしてください。icx の最新バージョンは https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler-download.html (英語) からダウンロードできます。
リリースバージョン
リリース日
2026.0
2026年4月28日
(scalar_logical_expr ? expr [: scalar_logical_expr ? expr] … : expr)-qopenmp-threadprivate オプションを使用して、OpenMP 実装を指定できます。Fortran IDE 拡張機能に Microsoft Visual Studio 2026 のサポートを追加しました。この機能は 2025.3.1 パッチリリースで追加され、2026.0.0 リリースにも含まれています。ユーザーは、既存のワークフローを変更することなく、引き続き利用できます。Windows 10 および 11 でサポートしています。
BLOCK DATA
COMMON ブロック
Microsoft Visual Studio との統合
map-type/map-type-modifier
program main
type mytype
integer, pointer :: p(:)
integer :: y
end type
type(mytype) :: x
x%p => null()
x%y = 111
#if BUG
!$omp target map(to: x)
#else
!Workaround
!$omp target map(to: x, x%p)
#endif
print *, associated(x%p) ! not ok
print *, rank(x%p) ! not ok
print *, x%y ! ok
!$omp end target
end
適用される map-type/map-type-modifier は、派生型のポインター・コンポーネントには伝播されません。つまり、「x」が map(to) でマップされている場合、ポインター・コンポーネントは「map(to)」ではなく「map(alloc)」でのみマップされます。その結果、ポインター x%p のデバイスコピーで行われる関連付けステータス、ランクなどに関するクエリーは、ランダムな結果を返します。
上記の動作は、「派生型のポインターフィールドが明示的にマップされていない場合、そのポインターはアタッチ不可」と仕様要件に準拠しています。
適切なアプローチは、上記のように、同じ構造でポインター x%p をマップするときに、ポインターを明示的にマップすることです。
FAIL IMAGE を実行した後に Fortran Co-Array アプリケーションがハングする
FAIL IMAGE ステートメントを使用してイメージを失敗させる場合、ステートメントまたは操作で許可されている場合に失敗したイメージに遭遇する可能性のあるすべての Co-Array 操作で STAT= 指定子または STAT 引数を使用するか、assume failed_images または standard-semantics コンパイラー・オプションを指定する必要があります。STAT= 指定子、STAT 引数を使用しない場合、またはこれらのコンパイラー・オプションを指定しない場合、これらの操作は失敗したイメージをチェックしないで、失敗したイメージからの応答を待ちますが、応答が行われないため、アプリケーションがハングします。
次の例は、STAT= 指定子を使用してアプリケーションのハングを防ぐ方法を示します。
SUBROUTINE FAIL_AND_SYNC ( THIS_ONE )
INTEGER THIS_ONE
INTEGER MY_STAT
IF (THIS_IMAGE() .EQ. THIS_ONE) THEN
FAIL IMAGE
END IF
SYNC ALL (STAT=MY_STAT) ! STAT= がないとハング
END SUBROUTINE FAIL_AND_SYNC
opt-reports
「schedule(dynamic)」を含む OpenMP ループ構造を含むプログラムで opt-report を使用すると、コンパイラーがエラーを出力する既知の問題があります。この場合、-qopt-report を削除してコンパイルすることを推奨します。
特定の OpenMP オフロード・ディレクティブを使用すると正しい結果が得られない可能性
TEAM 構造内部の入れ子の並列ループが REDUCTION 節で変数を使用していて、TEAM 構造に同じ REDUCTION 節がない場合、OpenMP プラグマを使用してインテル® GPU にオフロードすると、正しい結果が得られない可能性があります。正しくない結果を回避するには、-mllvm -vpo-paropt-atomic-free-reduction-slm=true を指定してコンパイルし、グローバル・メモリー・バッファーを無効にします。
-ipo オプションと ifx/ifort オブジェクト・ファイルの使用
ifx はバイナリー (.o/.obj) およびモジュール (.mod) ファイルと互換性があります。ifort で生成されたバイナリーとライブラリーは、ifx でビルドされたバイナリーやライブラリーとリンクでき、一方のコンパイラーで生成された .mod ファイルは、もう一方のコンパイラーで使用できます (64 ビット・ターゲットのみ)。-ipo オプションを指定してコンパイルすると、ifort と ifx 間の互換性はなくなります。
GPU ドライバーのハング問題
ネイティブ環境で実行時間の長い CPU 計算ワークロードを持つアプリケーションがある場合、ワークロードが終了されないようにハングチェック・タイムアウト期間を無効にする必要があります。詳細は、各 OS の「インストール・ガイド」 (英語) を参照してください。
インテル® Xe-LPG インテグレーテッド・グラフィックス GPU への OpenMP オフロード
インテル® Xe-LPG インテグレーテッド・グラフィックス GPU への OpenMP オフロードを行う Fortran アプリケーションで、ランタイムエラーや予期しない結果が発生する可能性があります。このエラーは、インテル® Core™ Ultra プロセッサー (シリーズ 1) (開発コード名 Meteor Lake) およびインテル® Core™ Ultra プロセッサー (シリーズ 2) (開発コード名 Lunar Lake) で発生することを確認しています。影響を受けるアプリケーションは、OpenMP ターゲット領域内で OpenMP DISTRIBUTE PARALLEL DO 構文と collapse 節を使用しています。この問題は、インテル® Core™ Ultra プロセッサー (シリーズ 1) (開発コード名 Meteor Lake) およびインテル® Core™ Ultra プロセッサー (シリーズ 2) (開発コード名 Lunar Lake) 向けの最新の GPU ドライバーで発生します。この問題を解決するドライバーを、後日リリースする予定です。
デバイスのポインター変換の問題
"adjust_args(need_device_ptr: xptr)" 節にリストされている xptr のポインター変換に失敗した場合、OpenMP 仕様に基づく動作は xptr を Null にすることですが、現在の ifx の動作は変換前のホストポインターを使用します。
CMake の情報
一部の古い依存関係が、設定スクリプトのレポート: 「linking to Fortran libraries from C fails (C から Fortran ライブラリーのリンクに失敗)」で失敗します。
症状
ifx でコンパイルしたとき、GNU Autconf により生成された ./configure スクリプトで次のようなエラーメッセージがレポートされる。
checking for Fortran 77
libraries of ifx... -loopopt=0 -L/lib/../lib64 -L/lib/../lib64/
-L/usr/lib/../lib64 -L/usr/lib/../lib64/ -L/lib64 -L/lib/ -L/usr/lib64
-L/usr/lib -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread
-lirc_s -ldl
configure: WARNING: FLIBS does not work
checking for ifx flag to add single underscore to external names... none
checking for dummy main to link with Fortran 77 libraries... unknown
configure: error: in '/path/to/build/dir':
configure: error: linking to Fortran libraries from C fails
See `config.log' for more details
make: *** [build/config.status] Error 1
config.log ファイルを調べると、次のエラーが原因で ./configure が終了したことが分かります。
ld: cannot find -loopopt=0
原因
Fortran コードを C または C++ コードとリンクするために必要なライブラリーを決定する際に、GNU Autoconf 2.69 以前は、詳細なコンパイラー出力の -mllvm -loopopt=0 の -loopopt=0 を誤ってリンカーフラグとして解釈します。GNU Autoconf は -loopopt=0 を FLIBS 変数に追加して、リンカーに渡します。リンカーは、存在しないライブラリーを探して、リンクに失敗します。
ソースコードをダウンロードしているユーザー向けのソリューション
このエラーの影響を受けるパッケージのメンテナーに、このリリースノートを参照するように伝えてください。configure スクリプトの処理方法はプロジェクトによって異なりますが、いくつかの一般的な規則が適用されます。パッケージメンテナーからの応答の前に問題を解決する必要があるユーザーは、configure スクリプトを自分で更新してください。更新の難易度は、パッケージの配布方法によって異なります。
更新するには、「パッケージメンテナー向けのソリューション」で説明されているように、GNU Autoconf-2.70 以降をインストールします。
更新された autoconf をユーザーのパスにインストールした後、configure スクリプトと configure.ac ファイルを配布するパッケージを更新します。
autoreconf -if
これで、configure スクリプトが FLIBS エラーなしで完了するようになります。
プロジェクト・メンテナーが、tar や zip アーカイブでのソース・ディストリビューションから configure.ac ファイルを削除することは珍しくありません。その場合、ユーザーは、コード・リポジトリーからプロジェクトをダウンロードして、プロジェクトの指示に従ってビルドする必要があります。configure スクリプトのバージョンがバージョン・コントロールにコミットされ、自動的に再生成されないことがあります。その場合、上記のように autoreconf -if を実行するか、configure スクリプトを削除すると、スクリプトが再生成されます。プロジェクトのドキュメントに configure スクリプトを再生成する方法が記載されている場合は、その指示に従ってください。
ユーザーにエラーが表示されないようにするには、GNU Autoconf をバージョン 2.70 以降に更新して、プロジェクトの configure スクリプトを再生成します。GNU Autoconf 2.70 は 2020年12月8日にリリース (英語) されました。ソースコードは git clone http://git.sv.gnu.org/r/autoconf.git で入手できます。GNU Autoconf のドキュメントは、GNU Autoconf プロジェクト・ページ (英語) から入手できます。
サポートされているアーキテクチャーと用語 - インテル® 64 アーキテクチャーとは、IA-32 アーキテクチャー・プロセッサーをベースとして、64 ビット・アーキテクチャー拡張機能を備えたシステムを指します (Microsoft Windows 10 x64 や Linux "x86_64" などの 64 ビット・オペレーティング・システムを実行する、インテル® Core™ アーキテクチャー・プロセッサーなど)。
注: マイナーリリース (2026.1 など) は、ベースのメジャーリリース (2026.0) からすべての OS 要件を自動的に継承します。(+) はそのマイナーリリースで追加された OS、(–) はそのマイナーリリースで削除された OS を示します。アスタリスク (**) は非推奨を示します。その他の OS は変更なしで、重複して記載していません。
8GB (推奨)
2GB (最小) - コンパイラーとライブラリー (インテル® Fortran コンパイラー、インテル® oneAPI DPC++/C++ コンパイラー、インテル® oneAPI DPC++ ライブラリー、およびインテル® oneAPI スレッディング・ビルディング・ブロック) のみをインストールする場合
注: インストール中、ダウンロードとインストールの中間ファイルを管理するため、インストーラーは追加で最大 6GB の一時ディスクストレージを必要とする場合があります。
次のインテル® 64 アーキテクチャー・ベースのシステムは、ホスト・プラットフォームとターゲット・プラットフォームの両方としてサポートされています。
注: これらの OS ディストリビューションはインテルによってテストされたもの、または動作が確認されているものです。その他のディストリビューションは、動作する場合としない場合があり、推奨されません。質問がある場合は、インテル・コミュニティー・フォーラム (英語) でサポートを受けることができます。商用サポート (英語) を利用可能な場合は、サポートチケットを作成してください。
CPU
GPU
CPU
Microsoft Windows 10、11
Microsoft Windows Server 2019、2022、2025
GPU
Linux ドライバー
2026.0 リリースは LTS ドライバー 2350.103 (英語) およびローリングドライバー 2437.26 (英語) で検証済みです。https://dgpu-docs.intel.com/releases/releases.html (英語) にリストされている後続のドライバーバージョンでも動作することを想定しています。
Windows ドライバー
Windows で GPU 使用状況イベントとプロセッサー・グラフィックス・ハードウェア・イベントを収集するには、最新のドライバーが必要です。インテルのサポートにリクエストするか、ここからダウンロード (英語) してください。
DPC++ アプリケーションをコンパイルするための要件: パフォーマンス解析に必要なデバッグ情報を利用するには、-gline-tables-only および -fdebug-info-for-profiling オプションを使用して DPC++ アプリケーションをコンパイルする必要があります。
Windows インテル® グラフィックス・ドライバー
ドライバーをインストールするには、次の手順に従ってください。
終了予定の機能やツール、それらの終了予定日とタイムラインをリストします。
Microsoft Visual Studio 2019 の Fortran IDE 拡張機能のサポートは 2026.0 リリースから削除されました。Fortran IDE 拡張機能を引き続き使用するには、サポートされている Microsoft Visual Studio のバージョン (Microsoft Visual Studio 2022 以降) にアップグレードすることを推奨します。
製品のドキュメントはオンラインで提供されています。
2024.0 で実装されたディレクトリー・レイアウトの変更
インストールとセットアップを合理化するため、すべての製品のディレクトリー・レイアウトを変更しました。統合ディレクトリー・レイアウトは 2024.0 で実装されました。ツールキットの複数のバージョンをインストールしている場合、統合レイアウトにより、インストールしているツールキットのバージョンに対応する正しいコンポーネントのバージョンが開発環境に含まれるようになります。2024.0 以前に使用されていたコンポーネント・ディレクトリー・レイアウトは、新規および既存のインストールで引き続きサポートします。環境の初期化方法やその利点など、統合レイアウトの詳細は、「Linux での setvars および oneapi-vars スクリプトの使用」 (英語) および「Windows での setvars および oneapi-vars スクリプトの使用」 (英語) を参照してください。
優先サポートを利用可能な場合は、サポートチケットを作成してください。利用できない場合は、インテル® Fortran コンパイラー・フォーラム (英語) でサポートを受けることができます。
本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。
インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。
本資料には、開発中の製品、サービスおよびプロセスについての情報が含まれています。ここに記載されているすべての情報は、予告なく変更されることがあります。インテルの最新の製品仕様およびロードマップをご希望の方は、インテルの担当者までお問い合わせください。
本資料で説明されている製品およびサービスには、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。
本書で紹介されている注文番号付きのドキュメントや、インテルのその他の資料を入手するには、1-800-548-4725 (アメリカ合衆国) までご連絡いただくか、http://www.intel.com/design/literature.htm (英語) を参照してください。
Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
✝開発コード名
Microsoft および Windows は、米国 Microsoft Corporation の、米国およびその他の国における登録商標または商標です。
Java は、Oracle および / または関連会社の登録商標です。
OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の使用許諾を受けて使用しています。
© 2010 - 2022 Intel Corporation.
本ソフトウェアおよび関連ドキュメントは、インテルが著作権を有する著作物であり、その使用には付随する明示的なライセンス (「ライセンス」) が適用されます。ライセンスに明記されている場合を除き、インテルから事前に書面による許可なしに、ソフトウェアまたは関連ドキュメントを使用、改変、複製、公開、配布、開示、転送してはなりません。
本ソフトウェアおよび関連ドキュメントは現状のまま提供され、ライセンスに明記されている場合を除き、明示されているか否かにかかわらず、いかなる保証もいたしません。
性能は、使用状況、構成、その他の要因によって異なります。詳細については、https://www.intel.com/PerformanceIndex/ (英語) を参照してください。