インテル® Fortran コンパイラは、OpenMP* Fortran バージョン 2.0 API 仕様のうち、WORKSHARE ディレクティブを除くすべてをサポートしています。OpenMP は、次の主な機能を持った対称型マルチプロセッシング (SMP) を提供します:
反復のパーティショニング、データの共有、スレッドのスケジューリング、および同期化に関する下位の詳細レベルを処理して、ユーザの負担を軽減します。
共有メモリ、マルチプロセッサ・システムの場合に得られるパフォーマンスを提供します。また、IA-32 システムではハイパー・スレッディング・テクノロジが有効な場合に得られるパフォーマンスを提供します。ハイパー・スレッディング・テクノロジについては、『IA-32 インテル® アーキテクチャ最適化リファレンス・マニュアル』(英語) を参照してください。
インテル Fortran コンパイラは、ソース・プログラムのユーザの OpenMP ディレクティブの指定に従って、コード変換を実行し、マルチスレッド・コードを生成して、既存のソフトウェアへスレッドを追加しやすくします。インテル® コンパイラは、現在の業界標準の OpenMP ディレクティブのすべてに対応しています。ただし、WORKSHARE および OpenMP ディレクティブの注釈のある並列実行プログラムのコンパイラは除きます。
さらに、インテル Fortran コンパイラは、ランタイム・ライブラリ・ルーチンおよび環境変数を含む OpenMP Fortran バージョン 2.0 仕様にインテル独自の拡張機能を提供します。
インテル Fortran コンパイラの OpenMP 機能の全オプションについては、「概要: 並列プログラミング」を参照してください。OpenMP 標準の詳細については、Web サイト http://www.openmp.org をご覧ください。Fortran 言語の詳細な仕様については、「OpenMP Fortran version 2.0 仕様」を参照してください。
OpenMP でコンパイルするには、Fortran プログラム・コメント形式の OpenMP ディレクティブでコードを注釈するプログラムを準備する必要があります。インテル Fortran コンパイラは、はじめにアプリケーションを処理して、コードのマルチスレッド・バージョンを生成してからコードをコンパイルします。 その出力は、並列領域または構造を実行するスレッドによって実装される並列処理の Fortran 実行ファイルです。「OpenMP によるプログラミング」 を参照してください。
プログラムのパフォーマンス分析には、パフォーマンス情報を表示するインテル® VTune™ アナライザや、インテルのスレッド化ツールを使用できます。 コードのどの部分が最も多く実行時間を必要としているか、また並列パフォーマンスの問題個所の特定に関する詳細情報が得られます。