投稿日
2013/5/27 月曜日
自分とこのGTX 460(Ubuntu)でしか確認してないので全然確信は持てないんだけど、カーネルのコンパイルを
nvcc -ptx -arch=sm_21 kernel.cu
としてたのを
nvcc -ptx -arch=sm_11 kernel.cu
としただけで、例のレイキャストの処理が0.055秒から0.04秒に短縮された。
この前の共有メモリを利用した高速化の3倍の効果、と考えると結構すごい。
カーネルのコード自体はsm_11の機能しか使ってなかったけど、出来るだけそのGPUが対応する新しいアーキテクチャに合わせてコンパイルした方が色々最適化が効くんじゃないかと思ってsm_21を指定してた。
でも、こういう結果が出ると考えを改めなきゃいけないかも。
追記
sm_13から倍精度浮動小数点に対応してるが、もしかしてsm_11に下げることにより単精度浮動小数点数使うようになり高速化した?
しかし元のソースにはどこにもdoubleの変数は宣言してない。謎。
めんどいけどptxファイルの中身を比較するか…
nvcc -ptx -arch=sm_21 -prec-div=false kernel.cu
helpで見たところ、prec-divオプションは、単精度浮動小数点の割り算や逆数の計算の為の丸めモードとして、IEEEに準拠した方法と、高速な近似方法のどちらを使うかを指定するためのものみたい。
当然trueでIEEE準拠、falseで高速近似となる。
このオプションはsm_20以上で有効で、sm_13以下の場合は、-prec-div=false相当で固定となる。
アーキテクチャの設定を下げたら速くなった〜って無邪気に喜んでると、浮動小数点の誤差に逆襲されるかもしれないので注意が必要。
最近のコメント
名前
しゅごい
Jane Doe
FYI Avoid Annoying Unexpe…
Jane Doe
ご存じとは思いますが、whileには、”~の間”と…
peta_okechan
針金みたいなパーツを引っ張ると外れます。 他の方の…
虎徹ファン交換
虎徹の標準ファンを外す際に、どのようにして外されま…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…