忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

C#でOpenCL入門 (Cloo版) プラットフォーム

Cloo

しかしP/InvokeでOpenCLのラッパーを書いて…というのは面倒なので、今回はOpenCLNetという物を使おうと思います。
これならC#から簡単にOpenCLが使えるようです。

と先日書いたのですが、どうやらClooというのもあるようです。
これもOpenCLのラッパーです。
こちらの解説もしてみます。
基本コピペで進みます。


拍手[0回]

PR

C#でOpenCL入門一覧 (OpenCLNet版)

OpenCLNetからOpenCLを使うシリーズをまとめます。

  1. プラットフォーム
  2. デバイス
  3. コンテキスト
  4. コマンドキュー
  5. バッファ
  6. プログラム
  7. カーネル
  8. データ並列
  9. コンパイルエラー捕捉
  10. グループID、ローカルID
  11. 非バッファ引数
  12. スレッドとグループの個数

感想

使わせてもらっておいてひどい言い草ですが、このOpenCLNetはあまり.netっぽくないですね。
たとえばカスタム構造体を簡単にはMem.Writeできなかったり。
(ジェネリクスを使えば簡単にセットできるでしょうからね。)

あと、XNAの発想から言えばもっとシンプルにコンストラクタを使うでしょうね。
悪いわけではありませんが、柔軟性が必要ない場合、ファクトリメソッドを使うよりは、コンストラクタを使ったほうが簡単でしょう。

とはいえ、C#からOpenCLを使えるのはありがたい話です。
ひょっとするとC#からDeep Learningするのに使わせてもらうかもしれませんね。

拍手[0回]