ビルド
OpenMPは、Visual C++やgcc/g++、clang/clang++など、
現在入手可能なC++コンパイラの多くでサポートされています。
しかし、ほとんどのコンパイラはデフォルトでOpenMPを無効にしています。
したがって、ビルド時にOpenMPサポートを有効にする必要があります。
いくつかのコンパイラについて、ビルド時にOpenMPサポートを有効にする方法を次に示します。
コンパイラによっては、この他に追加のライブラリを指定する必要があります。詳細はコンパイラのヘルプ等をご参照ください。
コンパイラ | OpenMPを有効化する方法 |
Visual C++(統合環境) | プロジェクトのプロパティを開く → C/C++ → 言語 → OpenMPのサポート「はい」とします。 |
Visual C++(コマンドライン) | オプション/openmpを追加します。 |
g++ | オプション-fopenmpを追加します。 |
clang++ | オプション-fopenmpを追加します。 |
実行環境
OpenMPを有効にしてビルドしたバイナリでは、
機器が複数のプロセッサコアを備えているときに、
#pragma ompで並列実行指定された部分が並列実行されます。
機器が備えるプロセッサコアが1つであったとしても、
#pragma ompで並列実行指定された部分が1つのプロセッサコアで順に実行されるだけです。
したがって、プロセッサコアを1つしか備えていない機器でも実行は可能です。
なお、OpenMPに対応していない場合や、OpenMPを無効にした場合は、#pragma ompの行そのものが無視されます。
OpenMPを使えば、WindowsやMac、タブレットやスマートフォンなど様々な環境で、
並列実行可能なプログラムを実装することができます。
関連ページ
OpenMPの解説 目次
前の項目: OpenMPとは
次の項目: OpenMPのバージョン