チカラ餅工房

Blenderなどを使ってCG制作してます。

BlenderのレンダリングをCUDAでするためにGeforce GTX 560 Tiを購入。CPUの3倍速い。

今さらのGTX560Tiって感じだけどとにかくCUDAレンダリングを試したかったので購入。
これからセットアップしてく。

ドライバ(314.22)をインストールして、さっそくBlenderを起動しUser Preferencesを覗くと
f:id:chikaramoche:20130330144845j:plain
特に何もしていないのにCUDAが選択可能になってた。
よし、レンダリングとベンチの楽しみは後にとっておいて、まずはデスクトップの設定を済ませて―――。

「2.61 Cycles render benchmark」をi5-2500k@4.6GHzと比較。

2.61 Cycles render benchmark
↑をBlender2.66aでレンダリング

こちらがCPU。
f:id:chikaramoche:20130330162147j:plain
04:37.37

こちらがCUDA。
f:id:chikaramoche:20130330162314j:plain
01:42.22

レンダリングにかかる時間がザッと1/3くらいに減少。
1万円程度で約3倍速くなったのだからかなりウレシイッ∩( ・ω・)∩
3D ViewでViwepoint ShadingをRenderedにしてリアルタイムにレンダリングしてると違いが一目瞭然!
やっぱCUDAにしてよかったわw
仕上げのレンダリングだけじゃなくて編集中にもGPGPUレンダリングの威力を実感できそう♪

BlenderのバージョンによってCUDAの結果が変わる件。

ちょっと気になってver. 2.61を使って同じファイルをレンダリングしてみた。

【CPU】
f:id:chikaramoche:20130403204224j:plain
CPUの結果はほとんど変わらない。

GPU
f:id:chikaramoche:20130403204301j:plain
GPUだと30秒くらい旧バージョンのほうが速かった。Cyclesの仕様がなにか変わったせいかな。

CUDA使えよ、色々捗るぞ(常套句)。

CUDA/GPGPUに関しては現行の600シリーズ(Kepler)より500シリーズ(Fermi)の方が総合的にまさっているようです。
時期的に新品での入手性が少し悪くなっていますが安く買える中古で充分だと思います。
レンダリング用途にはCPUを上の性能のものに買い換えるより効果が大きいんじゃないかと。

CPUレンダリングの描画速度に不満がある方はヤフオクでちょこちょこ出物があるので状態のよさそうなのを落札してみてはいかがでしょう?

ソフマップの中古もタイムセールがからむとかなり安く買えるのでほしい物があるときはコマメにチェックがオススメです。3千円以上なら送料無料なのと、余ってるポイントを使えたりでヤフオクより安く買えることも多いですよ。
ソフマップ・ドットコム

ちなみに、GTX 560 Tiを装着してワットチェッカーで消費電力を実測したところ、
・アイドル時:約80W
・Windowsエクスペリエンス実行時:約350W(瞬間最大)
でした。
普通のパーツ構成のPCでも余裕を見て500W以上の電源を積んでおいたほうがいいと思います。

あと、6pin補助電源が2口必要です。

自前のプロジェクトをレンダリングしてみた。

f:id:chikaramoche:20130323154305j:plain
前にBlender Guruのチュートリアルで作ったCG。
CPUだと29:05かかったのが、CUDAだと9:10でやっぱり1/3とかその辺。
演算量が多くなればなるほどこの差がバカにできなくなってくる。

LuxMarkでRadeon HD6850とOpenCLの比較。

まずはじめに、GTX 560 Tiをインストール後、LuxMarkを起動して「アレっ?」って思ったのが、CPUが選択できなくなってること。
f:id:chikaramoche:20130330171852j:plain
CPUモードで実行しようとしても「not available」と怒られてしまう。
どうやらnVidiaのOpenCLだとCPUは使えなくなる模様。
HD6850だとCPUを選べたし、CPU+GPUで共働もできたからGPU単体よりさらに速く処理が行えたのに。
これはLuxRender使う場合はGeforceだとかなりもったいないんじゃないだろうか。
もしCyclesがOpenCLに対応して同じ状態になったら当然Radeon買い直すし。

Radeon HD6850

f:id:chikaramoche:20130330172358j:plain f:id:chikaramoche:20130330172408j:plain f:id:chikaramoche:20130330172413j:plain

Geforce GTX 560 Ti

f:id:chikaramoche:20130330172435j:plain f:id:chikaramoche:20130330172443j:plain f:id:chikaramoche:20130330172452j:plain
得手不得手みたいなのはあるようだけど、特に気にするほどの違いは・・・。

【番外】Geforceのユーティリティソフトにはプロファイル機能ってないの?

RadeonだとCCCの設定内容をプリセットとして保存できてショートカットでシングル/デュアル・ディスプレイをワンクリックで切り替えられたんだけど、
Geforceのユーティリティソフトにはそれっぽい項目が見当たらない。

昔やってたWin7のホットキーとUSWCの組み合わせでまたやれと?

Win7でシングル/デュアル・ディスプレイの切り替え。

ザックリやり方を書いておきます。

Win7で[Winキー+P]を押すと
f:id:chikaramoche:20130330150036j:plain
こういうウィンドウが表示されるので矢印キーで選んでエンターを押すか直接クリックすれば切り替えできます。

この操作をWindows 自動化ソフト UWSCでマクロ化してショートカットを作ってクリックすれば簡単に切り替えられます。

僕が作った.UWSファイルを置いておきます。⇒ダウンロード
1920*1080のディスプレイで使うとたぶんそのまま動作するのではないかと。
拡張子「.UWC」をUWSC.exeに関連付けるとワンクリックでマクロが実行されます。

僕がマクロを作った際には、矢印キーを2回連続で押す操作がうまく再現されなかったので、マウス操作でクリックするマクロにしてあります。(マウス動作の記録は絶対座標で)

ニコ動にGPUレンダリングのテスト動画投稿。


CPUとGPUの比較、という動画がニコ動にはないようだったので投稿。
こんな短い動画を編集するのに3日くらいかかっちゃった・・・。
手が遅いねん(´・ω・`)