なんとなくOpenCLなるものを の続き。
そゆわけで、入門書を読みつつ第三章「OpenCLプログラム作成手順」に従って
サンプル・コードを打ち込んでたわけです。
版社のサポート・ページから掲載コードぜんぶ拾ってこれるんだけども、
最初はちまちま手打ちして開発スタイルを腕に覚えさすですよ。
サンプル・コードはなんとも素直なCなので難しくはないんだけども...長い。
二つの float 配列を足す: out[i] = in1[i] + in2[i] をやらすだけのことに400行。
毎回これじゃかなわんなー、なんぞ賢いやり方ないものかとATIやOpenCLの
本家クロノスにある資料を眺めてたですよ。
...みつけましたぜダンナ、クロノスのOpenCLドキュメント集の中に
OpenCL 1.1 C++ Bindings Specification なんちゅーのがあるやないのん。
んむ、どうやらCで提供されたOpenCL-APIにクラスの薄皮を被せたwrapperとミタ。
そんじゃってんで ATI Stream SDK の include-dir. 覗いたらアナタ、ちゃんと入ってるぢゃあァりませんか♪
こいつを使って書き換えてみたらまぁ、なんということでしょう。400行が80行にっ!
おちゃらか超並列コンピューティングなら OpenCL C++binding でキマリだぜぃ!
# ここらへん、.NETはどんなアプローチなのかしら。
# DirectCompute とやらの .NET-interface を提供すんのかしら。