2014/10/13

OpenCLの環境を整える(Win7 64bit)

OpenCV 3.0 alphaをインストールし、サンプルプログラムを実行しようとしたところ、"opencl runtimeがありません"と言ったメッセージが出て実行できませんでした。

OpenCLは並列計算用のライブラリで、CPUやGPUを計算リソースとして使うことができます。
OpenCLはベンダーに依存しない言語仕様なので、AMDやInterl、nVidiaがそれぞれの製品用のOpenCLランタイムを提供しています。

私のPCにはPhenom II x6とRadeon HD 5450が積まれているので、AMDからOpenCL用のランタイム(AMD-APP-SDK-v2.9-1.599.381-GA-Full-windows-64.exe)をダウンロードしてインストールしました。
AMD App SDK

インストール後はOpenCVのサンプルプログラムも無事動くようになりました。

OpenCLについて調べてみると、Pythonからも使えるようになるpyopenclというライブラリがあることが分かりました。

というわけで早速インストールしてみます。

参考ページ:PyOpenCL

(インストール前に、各ベンダーから提供されているOpenCLのランタイムが動作することを確認してください。たいていはsampleフォルダなどにビルド済みのものがあると思います。)
  1. まずはpython 3.3の32bit版をインストールします。
  2. http://www.lfd.uci.edu/~gohlke/pythonlibs/ から以下のパッケージをダウンロードしてインストールします。pytonの各バージョン・各プラットフォーム用のパッケージがあるので、pythonのものとバージョンをあわせます(今回はpy3.3、32bit用)。
      • pillow
      • pytools
      • mako
      • numpy-MKL
      • pytools
      • pyopencl
インストール作業は以上で完了です。

pythonを起動し、pyopenclが動くか見てみましょう。

import pyopencl as cl
cl.create_some_context()


コンピュータに複数のOpenCLデバイスがある場合は、複数デバイスが表示され、どれかを選ぶようメッセージが出ます。

>>> cl.create_some_context()
Choose device(s):
[0]
[1]
Choice, comma-separated [0]:

エラーメッセージがでなければpythonからOpenCLを扱う準備が整ったことになります。


0 件のコメント:

コメントを投稿