インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド
インテル® コンパイラーでは、OpenMP* バージョン 4.0 の API の仕様の一部の機能をサポートしています。 OpenMP* の Fortran 言語サポートの詳細は、OpenMP* Web サイト (http://www.openmp.org/、仕様リンクをクリック) の OpenMP* Application Program Interface バージョン 4.0 仕様を参照してください。 このドキュメントでは、OpenMP* の言語特性の説明において、通常 OpenMP* 仕様で定義されている用語を使用しています。
OpenMP* API は、次の主な機能を持った対称型マルチプロセッシング (SMP) を提供します。
反復のパーティショニング、データの共用、スレッドの生成、スケジュール、および同期化に関する下位レベルの詳細を処理して、ユーザーの負担を軽減します。
サポートされるすべてのインテル® アーキテクチャー上のインテル® ハイパースレッディング・テクノロジー (インテル® HT テクノロジー) 対応プロセッサーを含む共有メモリーのマルチプロセッサー・システムおよびマルチコア・プロセッサー・システムから優れたパフォーマンスを引き出します。
インテル® Xeon Phi™ コプロセッサーをサポートします。
コンパイラーは、ソースプログラムの開発者の OpenMP* 宣言子の指定に従ってコード変換を実行し、マルチスレッド・コードを生成して、既存のソフトウェアへスレッドを追加しやすくします。 インテル® コンパイラーは、業界標準の OpenMP* 宣言子のほとんどに対応し、並列プログラムをコンパイルします。
コンパイラーは、ランタイム・ライブラリー・ルーチンおよび環境変数を含む OpenMP* 仕様にインテル独自の拡張機能を提供します。 ただし、これらの拡張機能はインテル® コンパイラーでのみサポートされています。コンパイラー・オプションの概要は、「OpenMP* オプションのクイック・リファレンス」を参照してください。
OpenMP* API を使用してコンパイルするには、コードにFortran プログラムコメント形式の宣言子を追加します。 インテル® コンパイラーはコードを処理し、マルチスレッド・バージョンを内部的に生成してから、コンパイルして並列領域または構造を実行するスレッドによって実装される並列処理の実行プログラムを生成します。
OpenMP* 仕様は複数の実装の相互運用性について定義していません。このため、他のコンパイラーでサポートされている OpenMP* 実装とインテル® コンパイラーでサポートされている OpenMP* 実装は相互運用できないことがあります。アプリケーション全体を 1 つのコンパイラーでコンパイルしてビルドしたとしても、異なるコンパイラーでは OpenMP* ソース互換 (異なるコンパイラーで同じアプリケーション・ソース・セットをリンクして、コンパイルし、期待する並列実行結果を得ることが可能) を提供しないことに注意してください。
「OpenMP* ソース互換とその他のコンパイラーとの相互運用性」で説明されているように、インテル® コンパイラーには 2 種類の OpenMP* ライブラリー・セットがあります。