OpenMP*による並列化の概要

インテル® Fortran コンパイラは、OpenMP* Fortran バージョン 2.0 API 仕様のうち、WORKSHARE ディレクティブを除くすべてをサポートしています。OpenMP は、次の主な機能を持った対称型マルチプロセッシング (SMP) を提供します:

インテル 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 による並列処理

OpenMP でコンパイルするには、Fortran プログラム・コメント形式の OpenMP ディレクティブでコードを注釈するプログラムを準備する必要があります。インテル Fortran コンパイラは、はじめにアプリケーションを処理して、コードのマルチスレッド・バージョンを生成してからコードをコンパイルします。 その出力は、並列領域または構造を実行するスレッドによって実装される並列処理の Fortran 実行ファイルです。「OpenMP によるプログラミング」 を参照してください。

パフォーマンス分析

プログラムのパフォーマンス分析には、パフォーマンス情報を表示するインテル® VTune™ アナライザや、インテルのスレッド化ツールを使用できます。 コードのどの部分が最も多く実行時間を必要としているか、また並列パフォーマンスの問題個所の特定に関する詳細情報が得られます。