web-dev-qa-db-ja.com

openMPを使い始める。 Windowsにインストール

OpenMPを使用してC++で並列プログラムを記述したいので、OpenMPを使い始めました。言い換えれば、私は初心者であり、そのインストール方法を説明する優れたOpenMPガイドが必要です。誰かがWindowsにOpenMPをインストールし、プログラムをコンパイルして実行する方法を知っていますか?

17
Nurlan

OpenMPはインストールするものではありません。コンパイラに付属しています。 OpenMPをサポートする適切なコンパイラが必要であり、通常はデフォルトで無効になっているため、OpenMPサポートを有効にする方法を知る必要があります。

Windowsの標準コンパイラはMicrosoftが提供し、Visual StudioのMicrosoft Visual C/C++コンパイラです。残念ながら、そのOpenMPサポートは少し時代遅れです-最新で最高のVisual Studioでさえ、OpenMP 2.0(2002年の古い標準バージョン)しかサポートしていません。 Visual StudioでOpenMPを使用する方法の詳細については、 こちら を参照してください。他にも利用可能なコンパイラがあります-インテルC/C++コンパイラ(商用ライセンスが必要)とGCC(無料で利用可能)の両方が新しいOpenMPバージョンをサポートし、他のコンパイラも利用できます。

OpenMP Webサイト こちら にアクセスして、OpenMPの学習を開始できます。また、Lawrence Livermore National LaboratoryのOpenMPに関する優れたチュートリアル here も利用できます。

19
Hristo Iliev

OpenMPをWindows 10 PCで動作させるために私がやったことは次のとおりです。

  1. MinGWを入手-基本的なgccコンパイラーとg ++パッケージ(入手が本当に簡単)を入手するために必要なものをダウンロードして入手してください。いつでもg++ -vを実行して、稼働していることを確認できます
  2. 実行mingw-get upgrade --recursive "gcc<4.7.*" "gcc-g++<4.7.*"これは「楽しい」部分です。現時点では、4.9。*バージョンでサポートされているlibgompライブラリがなかったため、gccは<omp.h>を認識できませんでした。最後のサポートバージョンは4.7.2でした。これにより、ついにopenMPを実行できました

コンパイルするにはg++ -fopenmp myOpenMPFile.cpp -o myOpenMPを実行し、そこからすべて動作します

gcc -fopenmp myOpenMPFile.cpp -o myOpenMPはCコードでも機能します

7
FrickeFresh

OpenMPを私のWindows 10 PCで動作させるために私がしたことを共有したいと思います(2019年にはさらに簡単になりました)

  1. MinGWディストリビューションをGCC 8.2.0コンパイラで here からインストールしました。ディストリビューションのメンテナはすでにwinpthreadsとOpenMPサポートをGCCに追加しています。

  2. 次のように-fopenmpフラグを使用してコードをコンパイルしました:g++ -fopenmp main.cpp -o exec

注:MinGWディストリビューションは、多くの便利なライブラリ(Boost 1.69.0など)およびその他のユーティリティをサポートしています。とても便利だと思いました。

1
nae9on