SSブログ
OS XのOpenCL ブログトップ
- | 次の10件

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

OPIEでのデモはOpenCLを使わずにCPUを表示に集中させて凌いだので、個人的にはOpenCL熱がちょっと冷めてしまった。でもこれで終わらせるのはもったいないので、抄訳は一応最後までやろう。今日の部分はOpenCLカーネルとのデータの受け渡しのしかたというところ。まずざっくり説明してほしいのに、Appleは例によってダラダラと書いてる...

続きを読む


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

OS XでのOpenCLのガイドの抄訳の続き。先週パシフィコであったOPIEに出展して、去年僕が設計したデバイスのデモをやった。実はそこでOpenCLのコードを実装したアプリを使うつもりだった。専用の拡大光学系とカメラで、デバイスが作る光学パターンの微細さを訴えるデモだった。1280x960のカラーカメラの画像を単に表示するのではなく、微細さが強調されるような、むにゃむにゃごにょごにょに細工をした画像を表示する。そこにOpenCLを使って30fpsでさくさくと美しく絵を出すつもりだった。

ところがOpenCLを使ったコードは普通にCPUで計算したのよりはるかに遅くなった。30fpsで表示するとフレーム落ちして、しかも落ちたフレームのメモリはなぜか解放されることがなく、ヒープにどんどん溜まっていった。10分もするとスラッシングで落ちてないフレームの表示さえおぼつかなくなる。

OpenCLを使わずCPUでやると重いけど、僕が普段机で使っているiMacの4コアを全部使えばなんとかなった。OPIEではそのiMacを持ち込んでやり過ごした。

なんでOpenCLが遅いんだろう。もちろんただOpenCLを使えばパフォーマンスが上がるというわけではないことはわかっているつもりだったけど、CPUの何倍も遅いってなんでだろう。というかやっぱりちゃんとわかって使わないとダメ、ってことだよな。

ということで、訳の続きで並列化できる部分を探し出す話。マルチスレッド化にもまったく同じことが言える、並列化の基礎の基礎。

続きを読む


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

脱線の続き。OS XでのOpenCLを知るためのAppleのガイドの抄訳。今日は基本のまとめ。ここがガイドのさわりらしい。ここが理解できればあと読む必要はないんだろうけど、ふつうわからん。とりあえず読む。

続きを読む


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

また例によって脱線して始めたOpenCL。前回からAppleのガイドの抄訳をしている。前回は導入で、あれだけでは何をやってるのか全然わからなかった。今日はサンプルコードを眺めるところ。

続きを読む


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

前回GigE規格のBayer配列カラーカメラのフレームを読み出して、Bayer→RGBの変換をCPUではなくGPUにやらせるために、OpenCLの勉強を始めた。直近、来週にでもカメラを仕事に使いたいのに、全然何もわかってないのでとりあえずAppleのガイドの抄訳を始めることにする(泥縄を絵に描くとこうなります)。またしばらくへんな日本語が続くことになるけど、今日はまず「Hello, World!」んとこから。Appleのガイドに時々あるパターンで、とりあえずXcodeで一番簡単なアプリを作ってみる、詳しい話はそのあとで、という出だしなんだけど、すぐにビルドセッティングの話に突っ込んでいる。順番おかしいぞ、Apple....

続きを読む


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

GigE vision規格のカメラの読み出しができるようになって(でもGenICamはハードコードして)、ベイヤ配列のカラーカメラの画像をRGBに変換するのにOpenCLを使おうと思った。調べてみるとOS XのOpenCLは思ったより面白いことがわかった....

続きを読む


- | 次の10件 OS XのOpenCL ブログトップ

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