[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
しかしP/InvokeでOpenCLのラッパーを書いて…というのは面倒なので、今回はOpenCLNetという物を使おうと思います。
これならC#から簡単にOpenCLが使えるようです。
と先日書いたのですが、どうやらClooというのもあるようです。
これもOpenCLのラッパーです。
こちらの解説もしてみます。
基本コピペで進みます。
OpenCLNetからOpenCLを使うシリーズをまとめます。
使わせてもらっておいてひどい言い草ですが、このOpenCLNetはあまり.netっぽくないですね。
たとえばカスタム構造体を簡単にはMem.Writeできなかったり。
(ジェネリクスを使えば簡単にセットできるでしょうからね。)
あと、XNAの発想から言えばもっとシンプルにコンストラクタを使うでしょうね。
悪いわけではありませんが、柔軟性が必要ない場合、ファクトリメソッドを使うよりは、コンストラクタを使ったほうが簡単でしょう。
とはいえ、C#からOpenCLを使えるのはありがたい話です。
ひょっとするとC#からDeep Learningするのに使わせてもらうかもしれませんね。
こちらも合わせてお読みください。
こちらも合わせてお読みください。
ここまでGPUにデータを渡すときはバッファを使っていました。
しかしint一つだけを渡す、なんてこともできます。
こちらを合わせてお読みください。
今回はOpenCL Cに用意された関数、get_group_id()とget_local_id()について解説します。