OpenMPの背景知識 - ビルドと実行環境

いちごパック > OpenMPの解説 > OpenMPの背景知識 - ビルドと実行環境

ビルド

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のバージョン