山口屋~活動日誌~

私生活で主な出来事をピックアップ

OpenMP Visual Studio C++ 2008 2010 Express

2014-07-06 23:55:29 | ソフトウェア開発
Microsoft Visual Studio Express(2008→オンラインオフライン、2010→オンラインオフライン)は、OpenMP用のヘッダファイルやDLLファイルがインストールされないので、OpenMPを利用するにはインストールする必要がある。これを入手するには、Windows SDK for Windows Server 2008 and .NET Framework 3.5(オンラインオフライン)またはWindows SDK for Windows 7 and .NET Framework 3.5 SP1(オンラインオフライン)のうち、Developer Tools - Visual C++ Compilers をインストールすれば良い。(Windows SDK for Windows 7 and .NET Framework 4 ではこれらがインストールされない。)

<注意>
64ビット環境用コンパイルを行う場合、Microsoft Visual C++ 2010 x86 Redistributable と Microsoft Visual C++ 2010 x64 Redistributable を一旦アンインストールした後、
1.Windows SDK for Windows 7 and .NET Framework 4(オンラインオフライン)※ Visual C++ Compiler はインストールしない。Redistributable Packages を選択する。
2.Microsoft Visual Studio 2010 Service Pack 1(オンラインオフライン
3.Windows SDK 7.1 用 Microsoft Visual C++ 2010 Service Pack 1 コンパイラ更新プログラム(オフライン)※エラーコード0x80070643が発生するが原因不明。
の順にインストールしておく。

OpenMPを利用するソースコードには以下の記述をする。

#ifdef _OPENMP
#ifdef _DEBUG
#undef _DEBUG
#include <omp.h>
#pragma comment(lib,"vcomp.lib")
#define _DEBUG
#else
#include <omp.h>
#pragma comment(lib,"vcomp.lib")
#endif
#endif

コマンドラインでのコンパイルの場合は、コンパイルオプション「/openmp」を付けて、「cl /openmp ファイル名」のようなコマンドにする。
並列数(スレッド数)は環境変数OMP_NUM_THREADSで設定される。

Visual Studio でのコンパイルの場合は、[構成プロパティ]→[リンカ]→[マニフェストファイル]→[マニフェストの生成]で、[はい]を選ぶ必要がある。

Visual Studio 2008 ではデバッグ、ブレークポイントのバグがあるようなので、以下をインストールすると良い。
・KB957912 - Update for Visual Studio 2008 SP1 Debugging and Breakpoints

<構成マネージャの表示>
[ツール]→[オプション]
[プロジェクトおよびソリューション]→[ビルド構成の詳細を表示]にチェックを入れる

<上級者設定の表示>
[メニュー]→[ツール]→[上級者設定]

<参考>
●Atsushi Ito's page:MS-MPIをVisual Studio 2008でデバッグ実行
●分散思考:VisualStudio2008でOpenMPを使用したアプリケーションの配布
●なひたふJTAG日記:Visual Studio Expressで64bit版DLLを作成してみる

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Transactions of the America... | トップ | Windows ソケット WinSock2.0 »
最新の画像もっと見る

コメントを投稿

ソフトウェア開発」カテゴリの最新記事