システムの紹介 各種手続き 使い方と注意事項 アプリケーション一覧 講習会情報 FAQ
HOME > アプリケーション一覧 > Intel Fortran コンパイラ

Intel Fortran

機能概要

Intel Fortran Compiler for Linux は、先進の最適化機能、マルチスレッド・アプリケーションおよびハイパー・スレッディング・テクノロジへの対応、業界標準のツールや規格との互換性といった特徴を備えています。 特に大きな特徴として、高度な最適化機能・ビッグエンディアンファイルへの対応・標準への準拠および C/Fortran 混在アプリケーションのサポートをあげることができます。
 

■高度な最適化機能

 

 ・直接アドレス参照可能な浮動小数点命令を効率的に実行
 ・プロシージャ間の最適化による性能向上
 ・プロファイルに基づく最適化によりコードのレイアウトが最適化されることでコードサイズも縮小することによる性能向上
 ・一部のデータ参照に対するプリフェッチ命令をプログラムの特定の場所に挿入し、参照先のデータ・アイテムを実際に使用する前にプロセッサに近い場所 (キャッシュ・メモリ) に格納することにより、メモリ・アクセスのレイテンシを効果的に隠蔽
 ・従来のアーキテクチャと異なり、条件分岐時の実行はプレディケート修飾をつけた分岐命令でインプリメントすることで、基本ブロックサイズの縮小や分岐予測ミスによるペナルティの排除により性能向上
 ・分岐に関する情報をIntelコンパイラからプロセッサに対して伝達できることによる分岐予測ミスの頻度の低下
 ・ある種の命令 (レイテンシの大きいロード命令など) をプログラムの実行順に関係なく投機的に実行しておく機能であるスペキュレーションに対応
 ・ソフトウェアパイプラインのサポート

■ビッグエンディアンファイルへの対応

ビッグ・エンディアン・モードのファイルの読み出し/書き込みをサポートしています。技術系コンピューティングにおいては、ビッグ・エンディアン・モデルを採用したシステムを含めさまざまなプラットフォームでデータ・ファイルが生成されます。ビッグ・エンディアンへの対応により、異なるプラットフォームで生成されたファイルも手軽に利用できるようになります。

 

■標準への準拠および C/Fortran 混在アプリケーションのサポート

Intel Fortran コンパイラ は ISO 規格の Fortran 95に準拠しています。また、Intel Fortran コンパイラは C および Fortran の混在したプログラミングとデバッギングをサポートしています。

 

■並列化に関する機能と特徴

  1. OpenMPの対応
  2. OpenMP は移植性に優れたマルチスレッド・アプリケーション開発のための業界標準であり、細粒度 (ループ・レベル) および粗粒度 (関数レベル) のマルチスレッド化が効率的に行えます。OpenMP ではディレクティブを使って逐次型のプログラムにコメント行を書き加えれば並列化が行えるため、逐次型プログラムと並列型プログラムを別々に管理する必要もありません。
     
     Intel FortranコンパイラはOpenMP API に対応しており、共有メモリ型並列プログラミング・モデルに則してコード変換を行います。Intel Fortran コンパイラは、OpenMP Fortran API 2.0 によるマルチスレッド・アプリケーションの開発とデバッグを強力にサポートします。

  3. 自動並列化機能への対応
  4. Intel コンパイラには、ループを自動的にスレッド化する自動並列化機能が搭載されています。Linux 版Intelコンパイラは自動並列化機能と高レベルの SMP (Symmetric Multi-Processing) プログラミング・モデルに対応しており、SMP システムにおける並列実行性を向上させることができます。自動並列化機能が安全に並列実行できるループを検出し、これらループに関してマルチスレッド・コードを自動的に生成するため、イタレーションのパーティショニング、データの共有、スレッドのスケジューリング、同期化といった低レベルの細かい作業をユーザが行わなくても並列化が行えます。

  5. SGI MPT(Message Passing Toolkit)の利用
  6. MPTは次に示す業界標準のメッセージ・パッシングライブラリを最適化した製品であり、システムにおいて利用することが可能です。
    ・Message Passing Interface (MPI)
    ・Shared Memory Access(SHMEM)ライブラリ
    メッセージ・パッシング方式は、メモリを分散して配置する並列処理マシンで広く使われています。
    MPTライブラリはMPI-1.2の仕様を完全に準拠しています。さらにMPI-2の機能について以下に示す機能をサポートしています。
    ・並列 I/O
    ・片方向 put / get モデル 転送
    ・MPIによるプロセスの生成
    ・メモリの割り当て

プログラミング手法やコードの最適化・並列化に関する詳細な説明については、マニュアルや関連サイトのリンク先の情報をご参照ください。

利用方法

利用マシン

uva, uvb

実行方法

% ifort

-help オプションを指定してコンパイラを起動すると、コマンドラインから利用できるコンパイラのオプションが表示されます。

 

サンプル

サンプルファイルは、/usr/appli/intel/composer_xe_2013_sp1/Samples/ja_JP/Fortran にあります。
各サンプルの説明については、以下を参考にしてください。
なお、下記の説明にある<install-dir>とは、/usr/appli/intel/ のことを指しています。

  • サンプル[日本語][英語](システムのIDとパスワードが必要)

マニュアル

 

関連サイト