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を作成してみる
<注意>
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を作成してみる