SSブログ

OS XのOpenCL - その16 [OS XのOpenCL]

「プリンセス・プリキュア」のエンディングの曲とダンスが新しくなってた。リアルに近いシェーディングになってる。本編とのギャップがさらに広がった感じがする。それとも本編をもっとCGっぽい絵にするつもりなんだろうか。

それはいいとして、こないだの続き。パフォーマンスを測定する前に、まず基準を作る話。

続きを読む


OS XのOpenCL - その15 [OS XのOpenCL]

ちんたらやってるOS XでのOpenCL。ここからやっとこのガイドの白眉と言えるチューニングの話になる。今日の部分は当たり障りのない一般的な話しから入るけど、そのうち非常に濃い話になってくるので、面白くなる前に投げないようにしないといけない.....

続きを読む


OS XのOpenCL - その14 [OS XのOpenCL]

あまりにちんたらやってるせいで、いつ終わるのかわからないOS XのOpenCL。今日のところはIOSurfaceを使う話。IOSurfaceってなに?という感じでAppleのドキュメントにはIOSurface Frameworkとしてちょっとだけある。プロセス間で共有出来るフレームバッファだと書いてあるんだけど、なんのことだかわからない。どうもGPUのレベルのバッファで、シェアドメモリみたいにして使えるようにしたラッパという雰囲気なんだけど、どういうときにどうやって使うのかこのドキュメントを読んでもわからない。

この節は、効率よく(コピーせずに)OpenCLで使うデータを他のプロセスで共有したいときにIOSurfaceを使う、という話らしい。そういう場合ってどういう場合だろう?やっぱりよくわからん.....

続きを読む


OS XのOpenCL - その13 [OS XのOpenCL]

OS X用のOpenCLのガイド訳も前回で峠は越した。あともうちょっと。今日からはサンプルコードが続く。今日のサンプルコードが理解できればOS XのOpenCLは、おおまかにはわかったと言っていいんではないかな。

続きを読む


OS XのOpenCL - その12 [OS XのOpenCL]

なかなか終わらないOS XでのOpenCLのプログラミングガイド抄訳の続き。今日のところはOpenCLデバイスで使える汎用のメモリ領域の話。普通にCPUのメモリを確保したり解放したりというのと考え方は基本的には同じだけど、ポインタを通して直接アクセスはできない....

続きを読む


OS XのOpenCL - その11 [OS XのOpenCL]

さて、久しぶりのOpenCLの抄訳の続き。もうただの惰性。あれですな、「無精の代参」
「背中をぽーんと突いてくれ。突かれた弾みで歩き出す」
「けったいな人やな。ほな、ぽーんと」
「うわ、そんな強う突いたらあかんがな。丼池通り越してしまうがな」
い、いかん、これを始めるとキリがない...

続きを読む


OS XのOpenCL - その10 [OS XのOpenCL]

OS XでのOpenCLプログラミングガイド抄訳の続き。今日のところは画像操作に特化したメモリオブジェクトの使い方。

続きを読む


OS XのOpenCL - その9 [OS XのOpenCL]

すごい!スタック深さ1以上の証明!ちゃんとAppleのOpenCLガイドの抄訳の前回の続きになっている。

今日のところはOpenCLで使えるメモリを作って使って捨てる、というところ...

続きを読む


OS XのOpenCL - その8 [OS XのOpenCL]

OS XでのOpenCLのプログラミングガイドを訳している。できればさっさと終わらせたいんだけどまだある。今日はメモリオブジェクトの扱いのところ。

続きを読む


OS XのOpenCL - その7 [OS XのOpenCL]

OS XでのOpenCLの使い方を解説したガイドの抄訳の続き。今日はOS XのOpenCLの一番特徴的な部分であるGCDのところ。もとのOpenCL規格では専用のキュー(cl_command_queue)を使うことになってるけどOS Xでは並列処理の基本であるGCD(Grand Central Dispatch)を使う。でもGCDはしょせん、現代的に便利になったスレッドプールにすぎなくて(ブロックを使うことでさらにめちゃ簡単になるけど)、OpenCLのキューと実態は全く別物のはずなんだけどどういう実装になってるのかよくわからない。単なるラッパでGCDを呼ぶようになってるAPIはシンタクスシュガーなだけなのかもしれない。ソースを見ろよ、と言われるかもしれないけど....

続きを読む


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。