Xcode 4.6でOpenCLを使う

時間がないので簡易メモです。

【手順】

  1. Xcodeを起動して普通にプロジェクトを作る(例えば、コンソールアプリケーション、C++)
  2. Project Navigator(左画面)にあるプロジェクト名部分をクリック
  3. 中央画面上部にある”Build Phases”をクリック
  4. “Link Binary With Libraries”の左にある三角をクリック
  5. “+”をクリックし、ダイアログの中から”OpenCL.framework”を探してAddする
  6. 必要に応じてOpenCLカーネルを記述するためのソースコード(拡張子cl)を追加する

【注意点】

  • インクルードファイルは”OpenCL/opencl.h”。これはMac特有らしいので注意。必要に応じて”#ifdef __APPLE__”マクロなどを使う。
  • C++ APIは用意されていない様子。がっかり。
  • *.clファイルを追加すると、OpenCLカーネルをコンパイルしてバイナリ化する。コンパイルは、CPU x86、CPU x64、GPU 32bitの3種類がターゲットにされ、それぞれ”.i386.bc”、”.x86_64.bc”、”.gpu_32.bc”という接尾語がファイル名に追加される。格納場所は、実行バイナリのあるフォルダを基準に”OpenCL/[オリジナルのOpenCLファイル名][接尾語]”である。
  • このとき、コンパイルエラーもチェックされる。エラーがあれば、Issue Navigatorに表示される(画面左上の△に!のついたアイコンをクリック)。
  • IntelのGPUではOpenCLが実行できない。IvyBridgeのようにハードウェアがOpenCLに対応していても、ドライバが対応していない。がっかり。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中