OpenCLの環境を整える

スクリーンショット_062013_114004_PM

OpenCLを使うと、CPUだけでなくGPUも利用したプログラムを作れるようになります。

GPUはコアがたくさんあるので大量の並列化が可能となります。

一方、CPUと比べると性能は落ちます。

ただ、大量の並列化ができることから、並列処理ができるプログラムをはやく動かすことができます。

また、

今後はコアの並列化が進むので、並列処理してないプログラムは処理が速くなりません

だから、今のうちに並列処理を勉強しておくと後々有利になります。

ここでは、OpenCLの環境設定方法について説明します。

設定環境

今回は、MacBook Airで

  • CPU: Intel(R) Core(TM) i5-3427U CPU
  • GPU: Intel(R) HD Graphics 4000
  • OS: Windows8(64bit)
  • Visual Studio 2012

という環境で行っています。Macですが、ブートキャンプでWindows8が動いています。

インストール

OpenCLのSDKとして、Intel社のものを使用することにしました。

というのも、CPUもGPUもWindowsだったからです。まず、以下のURLへアクセスします。

http://software.intel.com/en-us/vcsource/tools/opencl-sdk

そしたら右上のダウンロードをクリックします。

スクリーンショット_062013_114004_PM

そしたらいくつか項目がでてきます。自分にあったものをダウンロードします。今回は、64-bit SDKをダウンロードします。

スクリーンショット_062013_114125_PM

「Download」をクリックするとダウンロードが開始されます。

完了するまでしばらく待ちましょう。

ダウンロードが完了したら実行して、インストールを完了させます。

①「Extract」をクリックします。

スクリーンショット_062013_114933_PM

 

②「Install」をクリックします。

スクリーンショット_062013_115040_PM

③「Next」をクリックします。

スクリーンショット_062013_115158_PM

④もう一度「Next」を押すと、以下のような画面になるので、チェックを押して「Next」で進みます。

スクリーンショット_062013_115325_PM

⑤そのあともいろいろ聞かれますが、「Next」ですすみ、最後に「Install」を選択します。するとインストールが開始されます。あとは、インストールが完了するまで待ちましょう。

⑥インストールが完了すると以下のような画面になります。「Finish」を選択して終わりです。

スクリーンショット_062013_115606_PM

環境変数

インストールを完了すると、環境変数に

INTELOCLSDKROOT

が追加されます。

環境変数のPathに

  • C:\Program Files (x86) \Intel \OpenCL SDK\2.0\bin\x86
  • C:\Program Files (x86) \Intel \OpenCL SDK\2.0\bin\x64

が追加されます。とくにいじる必要はないので暇があったら確認しておきましょう。

 

プログラムで使用するには

最後にVisual Studioで使用する際の方法を説明します。

インクルードファイルパス

まず、インクルードファイルパスの設定をします。

Visual Studioでプロジェクトを立ち上げ、プロジェクトのプロパティを選択します。

そして、C/C++の全般にある「追加のインクルードディレクトリ」に

  • “$(INTELOCLSDKROOT)\include”;

を追加します。

ライブラリファイルパス

あとはライブラリファイルパスを設定します。

  • “$(INTELOCLSDKROOT)\lib\x86\OpenCL.lib”; (32ビットのプログラムを作っている場合)
  • “$(INTELOCLSDKROOT)\lib\x64\OpenCL.lib”; (64ビットのプログラムを作っている場合)

これでビルドしてエラーがなければ問題ありません。

 

以上でOpenCLの導入は完了です。

お疲れ様でした。

著者:安井 真人(やすい まさと)