2015年3月2日月曜日

jCUDAの注意点

JCUDA とても楽しいのだけどいくつか落とし穴が。

- 関数の引数型に関するチェックが全く効かない。関数の名前しか見てくれないので、float の配列と intを間違えて呼び出しても何も注意してくれない。
大昔のプロトタイプ宣言を書かない時代のCみたい。懐かしい。
この場合たいていはCUDAの中で変なメモリを触って落ちる。

- コンテクストがスレッドにバインドされているらしいので、初期化は
 実行するスレッドで行わないといけない。JavaだとGUIがらみで呼び出される
 スレッドは別スレッドになるので注意が必要。
 CONTEXT がどうこうというわかりにくいエラーが出る。

0 件のコメント: