CUDAとOpenCLが使える3DCGオーサリング・ツールBlenderが2.79に、OpenCLのパフォーマンスが向上

Blender 2.79

Blender 2.79が発表されたようです。OpenCLやAVX2を用いた際のパフォーマンスが改善したようです。

レイ・トレースを用いた3DCGレンダリングなどにCUDAとOpenCLが使えるBlender

BlenderはC/C++で開発され、Python向けのAPI提供しているオープンソースの3DCGオーサリング・ツールです。パス・トレース(レイ・トレース)方式のレンダリング・エンジン「Cycles」を使う際に、GPGPUフレームワークとしてCUDAとOpenCLが選べます。

レンダリングにはCPUも使用出来ます。Blenderのベンチマークと言えばAMDがRyzen 7 1800XとCore i7-6900Kを比較するためのベンチマークに使用したことで話題になりました。このベンチマークにおいてはマルチGPU環境が圧倒的に速いようで、普通はCPUのみで回すものでは無いようです。ベンチマークは以下のサイトにて公開されています。

http://blenchmark.com/gpu-benchmarks

OpenCLへの対応が遅れていたBlender

Blenderの各機能に対するバージョン2.78でのGPUアクセラレーションの対応表は以下のようになっています。OpenCLへの対応が随分遅れていることが分かります。

Feature CPU CUDA OpenCL
Basic Shading Y Y Y
Transparent Shadows Y Y N
Motion blur Y Y Y
Hair Y Y Y
Volume Y Y N
Smoke/Fire Y Y N
Subsurface Scattering Y Y N
Open Shading Language Y N N
Correlated
Multi-Jittered Sampling
Y Y N
Branched Path integrator Y Y N
Displacement
Subdivision
Y
Experimental
Y
Experimental
Y
Experimental

Y:Yes
N:No

なぜこのような対応状況となっているのかについては、様々な原因が考えられます。その1つとしてGPGPUにおいて適切なGPUはNVIDIAのGPUであり、NVIDIAのGPUであれば素直にCUDAを使った方がパフォーマンスが出ると言う理由が考えられます。AMDのGPUとNVIDIAのGPUの差がこの対応表に現れていると言う見方が出来るのではないでしょうか。

OpenCLにおけるパフォーマンスが上がり、対応表も埋まる

今回のアップデートにより、SSS(Subsurface Scattering)とVolumeレンダリング、Transparent Shadowsへ対応し、対応表が以下のように埋まります。

Feature CPU CUDA OpenCL
Basic Shading Y Y Y
Transparent Shadows Y Y Y
Motion blur Y Y Y
Hair Y Y Y
Volume Y Y Y
Smoke/Fire Y Y N
Subsurface Scattering Y Y Y
Open Shading Language Y N N
Correlated
Multi-Jittered Sampling
Y Y N
Branched Path integrator Y Y N
Displacement
Subdivision
Y
Experimental
Y
Experimental
Y
Experimental

また、レンダリング時間は最大50%短くなるようです。OpenCLであればAMDのGPUも対応しているので、この対応はAMDにとって追い風と言えそうです。

AVX2への最適化

Intelが提唱しAMDがRyzenで対応したことでも話題となったx86_64の拡張命令AVX2に最適化されるようで、10%から20%の性能向上を達成したようです。

関連記事

デスクトップ版AMD Zenの性能はIntel i7 6900Kと競合するレベルらしい。

CUDAでのGeforce GTX 750 tiの二枚刺しについて

ソース

https://docs.blender.org/manual/ja/dev/render/cycles/features.html#features

http://www.phoronix.com/scan.php?page=news_item&px=Blender-2.79-Improvements

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)