技術

CUDA Driver APIのC++ラッパーを作った

OpenCLのC++ラッパーであるcl.cppの便利さに感銘を受けたので、CUDA Driver API向けにC++ラッパーを作った。

GitHubに載せたので良かったら見てください。
MITライセンスとなってます。
使い方については同梱のサンプルプロジェクトを参照。
peta-okechan/cu.hpp · GitHub

cl.hppの考え方は参考にしたが、設計を自分で適当に考えてとりあえず自分が必要としてる部分だけ作ったので、完成度としては比べてはいけないぐらいの差がある。
まだCUDA Driver APIのごく一部にしか対応してないけど、必要になったら随時追加していく予定。
あと、実装がマズイところもあるはずなので、その辺も随時アレしていく予定。

自分の環境(Mac + clang(C++11) + CUDA5.0)で実行するために作ったので、それ以外の環境では動かないかも。
その辺、問題と対応方法を教えていただけると嬉しいです。
個人的にはさらにLinux(Ubuntu 13.04)でも動作確認はする予定。

しかしこの程度のものでも、エラーを例外で捕捉出来て、なおかつリソースの解放を気にしなくてよくなったからずいぶん楽になった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください