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フォルダなどにビルド済みのものがあると思います。)
- まずはpython 3.3の32bit版をインストールします。
- 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 件のコメント:
コメントを投稿