| その他の名前 |
|
|---|---|
| 開発者 | インテル |
| プレビューリリース | 2023.2.1 [1]
/ 2023年7月28日 |
| オペレーティング·システム | Linux、Windows |
| タイプ | コンパイラ |
| ライセンス | フリーウェア、オプションの優先サポート |
| Webサイト | software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html |
| その他の名前 |
|
|---|---|
| 開発者 | インテル |
| 安定版リリース | 2021.10.0 ビルド 20230609_000000 [1]
/ 2023年7月28日 |
| オペレーティング·システム | Linux、Windows、macOS |
| タイプ | コンパイラ |
| ライセンス | フリーウェア、オプションの優先サポート |
| Webサイト | software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html |
Intel Fortran コンパイラーは、Intel OneAPI HPC ツールキットの一部であり、 Windows、macOS、Linux向けのIntelのFortran コンパイラーのグループです。
概要
コンパイラは、IA-32およびIntel 64プロセッサ、および特定のAMDプロセッサなどの特定の非Intelだが互換性のあるプロセッサ用のコードを生成します。コンパイラの特定のリリース(11.1)は、IA-64( Itanium 2)プロセッサ用のLinuxベースのアプリケーションの開発用に引き続き利用できます。Windowsでは、Intel Visual Fortranとして知られています。[2] macOSとLinuxでは、Intel Fortranとして知られています。2020年に、既存のコンパイラは「Intel Fortran Compiler Classic」(ifort)に名前が変更され、GPUオフロードをサポートする新しいIntel Fortran Compiler for oneAPI(ifx)が導入されました。
2021 リリースの Classic コンパイラーでは、2018 標準による完全な Fortran サポート、完全な OpenMP* 4.5、および CPU 専用の Initial Open MP 5.1 が追加されています。2021 ベータ コンパイラーは、GPU オフロード用の OpenMP に重点を置いています。Intel OneAPI HPC ツールキット (下記の「パッケージの説明」を参照) と併用すると、コンパイラーはOpenMP ディレクティブから分散メモリ マルチプロセッシング用のメッセージ パッシング インターフェイス呼び出しを自動的に生成することもできます。
Fortran 標準の詳細については、Wikipedia のFortranエントリや Fortran wiki ページ など、多数のリソースが利用可能です。
Intel Fortranパッケージには、 FITSやnetCDFなどの科学的なフォーマットを視覚化するツールであるIntel Array Visualizerが含まれていて、xyプロット、等高線プロット、イメージプロットを生成し、他のフォーマットで保存することができます。[3] [4]
最適化
インテルコンパイラは、インテルアーキテクチャをサポートするプロセッサを使用するコンピュータシステム向けに最適化されています[5] 。これらは、ストールを最小限に抑え、可能な限り少ないサイクル数で実行されるコードを生成するように設計されています。インテルFortranコンパイラは、コンパイルされたプログラムを最適化するための3つの個別の高レベル手法をサポートしています。それは、プロシージャ間最適化(IPO)、プロファイルガイド最適化(PGO)、およびその他の高レベル最適化(HLO)です。
手続き間最適化は、典型的なコンパイラ最適化(定数伝播など)を適用しますが、複数の手続き、複数のファイル、またはプログラム全体を含むより広い範囲を使用します。[6]
プロファイル ガイドによる最適化に関しては、コンパイラは、代表的なワークロードでアプリケーションを使用することでパフォーマンス関連の情報のデータセットを生成し、それを分析して、アプリケーションのどの部分がより頻繁に実行され、どの部分がより頻繁に実行されないかを調べます。コンパイラはこれらのデータを使用してアプリケーションの実行を整理し、アプリケーションの実際の使用方法に基づいてパフォーマンスを最適化します。これは、ワークロードとは無関係にアプリケーションの論理フローに従ってアプリケーションを最適化する IPO とは対照的です。この 2 つを組み合わせると、論理フローが最適化されるワークロードベースの最適化を提供できます。したがって、コンパイルの決定を行う際にヒューリスティックにあまり依存しないため、すべての最適化はプロファイル ガイドによるフィードバックの恩恵を受けることができます。
高レベルの最適化とは、ソースコードをより正確に表現するプログラムのバージョンに対して実行される最適化です。これには、ループ交換、ループ融合、ループ展開、ループ分散、データプリフェッチなどが含まれます。[7]
標準サポート
Intel Fortran コンパイラ クラシックは、2018 標準までの Fortran を完全にサポートします。Intel Fortran コンパイラ (ベータ版) は、Fortran 77/90/95 を完全にサポートし、Fortran 2003 標準を部分的にサポートします。
アーキテクチャ
- IA-32
- x86-64 ( Intel 64およびAMD64 )
- Intel Xeon Phi コプロセッサ
- IA-64 ( Itanium 2)
- Xeアーキテクチャ
パッケージの説明
コンパイラは、Intel および APT および Yum リポジトリからスタンドアロンで入手できます。また、ライブラリなどの他のビルド ツールや、エラー チェックやパフォーマンス分析用の分析ツールを含む Intel oneAPI HPC ツールキットでも入手できます。コンパイラを含むコンテナーは Docker Hub にあります。
2003年からの歴史
デバッグ
Intel コンパイラは、一般的なデバッガー ( Linux ではgdbに似たDWARF 2、 Windows ではCOFF ) の標準であるデバッグ情報を提供します。デバッグ情報を使用してコンパイルするためのフラグは、 Windows では/Zi、 Linux では-gです。デバッグは、Windows では Visual Studio デバッガーを使用して、Linux では gdb を使用して行われます。
Intel コンパイラは gprof 互換のプロファイリング出力を生成できますが、Intel はVTuneという別の製品としてカーネル レベルのシステム全体の統計プロファイラーも提供しています。VTune は、使いやすい GUI ( Windows の場合はVisual Studio、 Linux の場合はEclipseに統合) とコマンド ライン インターフェイスを備えています。VTune プロファイラーに加えて、ベクトル化の最適化に特化した Intel Advisorと、スレッド設計およびプロトタイピング用のツールがあります。
Intel は、 Intel Inspector XEと呼ばれるメモリおよびスレッド エラー検出ツールも提供しています。メモリ エラーに関しては、メモリ リーク、メモリ破損、API の割り当て/割り当て解除の不一致、および一貫性のないメモリ API の使用を検出するのに役立ちます。スレッド エラーに関しては、データ競合 (ヒープとスタックの両方)、デッドロック、およびスレッドと同期 API エラーを検出するのに役立ちます。
参照
- インテルインテグレーテッド パフォーマンス プリミティブ(IPP)
- oneAPIデータ分析ライブラリ(oneDAL)
- Intel oneAPI数学カーネル ライブラリ(oneMKL)
- oneAPIスレッド ビルディング ブロック(oneTBB)
- VTuneプロファイラー
- インテル C++ コンパイラ
- Intel Developer Zone (Intel DZ; サポートとディスカッション)
- インテル Parallel Studio XE
参考文献
- ^ ab 「Intel® Fortran Compiler for oneAPI リリースノート」。Intel 。2020年12月28日閲覧。
- ^ 「Intel Visual Fortran コンパイラ Professional Edition for Windows」. cnet.com .
- ^ Readey, John (2004年10月27日). Intel Array Visualizer. HDF Workshop VIII . 2023年5月6日閲覧。
- ^ 「Intel Array Visualizer」。Intel Developer Zone。2016年3月7日。2016年3月7日時点のオリジナルよりアーカイブ。 2023年5月6日閲覧。
- ^ 「Intel (Fortran、C、C++)」. NERSC.gov .
- ^ Intel コンパイラのドキュメント。選択した Fortran コンパイラを選択し、プロファイル ガイド付き最適化を検索してください。http ://software.intel.com/en-us/intel-software-technical-documentation
- ^ ソフトウェア最適化クックブック、IA-32 プラットフォーム向け高性能レシピ、リチャード・ガーバー、アート・JC・ビク、ケビン・B・スミス、シンミン・ティアン、インテル プレス、2006 年
- ^ 「Intel Visual Fortran 15 が利用可能になりました」。
- ^ 「インテル® Fortran コンパイラーに実装された Fortran 言語と OpenMP* 機能」。インテル® Fortran コンパイラー。Intel。2021年12 月 27 日閲覧。
- ^ 「インテル® Fortran コンパイラー 2023 の次の章」。community.intel.com。2022年 12 月 21 日。2023年 2 月 13 日閲覧。
- ^ 「今すぐ利用可能! Intel Software Developer Tools 2024.0」。community.intel.com。2022年12月21日。 2024年9月10日閲覧。
外部リンク
- 公式サイト
