覚え書きブログ

Windows+GPUでのOpenCVのビルド

GTX980が搭載されているWindows10にて、Opencv2.4.13をビルドしたので、メモっておく。

1)SourceForgeからopencv-2.4.11.zipをダウンロードして、Cドライブ直下に解凍
https://sourceforge.net/projects/opencvlibrary/?source=typ_redirect

2)Cmakeのconfigureを実行
ソースとビルド先は、opencvの解凍先である「c:\opncv-2.4.13」と「c:\opencv-2.4.13\build」をそれぞれ設定した。
f:id:hirotaka_hachiya:20160620224055p:plain

そして、コンパイラは、Visual Studio 12 2013 win64を設定した。
f:id:hirotaka_hachiya:20160619204341p:plain

下図のように、設定可能なパラメータが赤く表示される。
f:id:hirotaka_hachiya:20160620224203p:plain

今回は、opencvをCUDA対応させたいので、WITH_CUDAおよびWITH_CUBLASにチェックを入れ、CUDA_ARCH_BIN、CUDA_ARCH_PTXおよびCUDA_GENERATIONを、GTX980のアーキテクチャに合わせて変更する。
NVIDIAのページに、各GPUアーキテクチャ番号の一覧がある。
https://developer.nvidia.com/cuda-gpus

ちなみに、GTX980は、下図のようにアーキテクチャ番号が5.2なので、CUDA_ARCH_BINとCUDA_ARCH_PTXを5.2に設定する。また、CUDA_GENERATIONは、アーキテクチャ番号が2.0, 2.1の場合はFermiを選択し、3.0, 3.5の場合はkeplerを選択し、5.0以上の場合は空にする。GTX980は5.2なので空でよい。
f:id:hirotaka_hachiya:20160619210703p:plain

3)Visual Studio community 2013でOpenCV.slnを開き、ビルドする。
C:\opencv-2.4.13\buildにあるOpenCV.slnをVisual Studio Community 2013で開く。
ビルド->バッチビルドを選択し、ALL_BUILDのDebugとReleaseをチェックしてから、ビルドを実行する。ビルドには数時間かかる。

4)ソリューションエクスプローラのCMakeTargets->INSTALLを右クリックし、ビルドを実行する。
C:\opencv-2.4.11\build\installにinclude、libおよびbinがインストールされる。