[OpenCL] MacのターミナルでOpenCLコードをコンパイルする

MacにNVIDIA製のグラフィックカードが搭載されていない今。

同じGPGPUプログラミングでもCUDAとOpenCLがあります。

CUDAはNVIDIA社製のグラフィックカードを搭載しているパソコンで動きます。消費電力の少ないグリーンスパコンなんかでよく使われている感じからして、今やGPGPUプログラミングの筆頭と言っても過言ではないのではないでしょうか。

OpenCLはオープンと名前に付いているだけあって汎用性が重視されているGPGPUプログラミングです。AMD社製のRadeonやIntel Graphicsなんかで動作するプログラムです。もちろんNVIDIA社製のGeforceなどでも(試したことはありませんが)動きます。

 

さて今回はMacでOpenCLをコンパイルするお話(本当はCUDAが使いたかったのですが手元にそんなパソコンがなくて結局こっちを勉強するのですよ、と恨み節が云云)。

 

ここの会社がサンプルコードを配布してくれていますので、これを使って手っ取り早くhello worldでも表示してみましょう。しかしここで問題発生。

「どうやってコンパイルするんや…」

Xcodeでプロジェクトを作成すれば(たしか)デフォルトでコンパイルできたはず。しかし、私のようにアプリに頼ることなく、emacsなどでプログラムをゴリゴリ書いちゃう原理主義者の方もいらっしゃることでしょう。なによりXcodeの使い方から勉強しないといけないという難点があります。ターミナルからコンパイルできないものかと調べてみるとやはり方法がありました。

$ gcc main.c -o helloworld -framework opencl

のようにコンパイルオプションをつけます。ただしこれはMacのみで使えるテクニックだそう。

 

今回はここまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Captcha loading...