HOUDINI

VEX(SIMD) VS OPENCL(GPU&CPU)

More than 1 year has passed since last update.

Houdiniの実行処理について色々RnDする機会があったので
少し共有したいと思います。

実行環境は...
Ubuntu 16.04 LTS
Houdini16.0.633


VEX(SIMD) VS OPENCL(GPU&CPU)

今回はSphereを動かす処理をテストしたいと思います。
Test_Hip fileも今回はシェアします。

https://www.dropbox.com/home?preview=VEX_VS_OPENCL.hiplc

中身はこんな感じになってます。

CL_vs VEX01.jpg

SIMDや並列/並行処理に少し慣れてきたので..ちょっと比べてみよ〜と思いました。

sin,cosで円運動を簡単に実装させたものをそれぞれ、50f M_Playで書き出してみます。

GPUプログラマーの方々のアウトプットを見させていただくと...
CLのパフォーマンスを体感できるのは
条件によってかなり変わってくるとのこと...
プログラム次第でもかなり変わってくるらしいです。

これからRnDしていく目標を的確にする目的もあり
今回のtipsを書きました。

OpenCLは...
:CPU
:GPU
それぞれ比べてみました。


OPEN_CL_TYPE = CPU

CLyepe_CPU.jpg


:CPU_VEX(wrangle)

CPU_CL.jpg
Total : 16.298s
Viewport : 15.746s
Node : 0.552s


:CPU OPEN_CL

CPU_openCL.jpg
Total:16.145s
Viewport :14.189s
Node : 1.956s


:CPU_Compiled OPEN_CL

Comped_CL.jpg
Total : 17.188s
Viewport : 14.180s
Node : 3.008s


OPEN_CL_TYPE = GPU

OPENCL_type_GPU.jpg


:GPU_VEX(wrangle)

GPU_VEX.jpg
Total:14.866s
Viewport :14.331s
Node : 0.534s


:GPU OPEN_CL

GPU_OPEN_CL.png
Total:16.280s
Viewport :14.611s
Node : 1.669s


:GPU_Compiled OPEN_CL

GPU_Comped_OpenCL.jpg
Total:15.954s
Viewport :14.265s
Node : 1.688s


ViewCockが不安定であまり参考になりませんが
NodeCockに注目してみてください。

まとめてみます。

50fps Anim_NodeCock

:CPU
VEX - 0.552s
OpenCL - 1.956s
Comed OpenCL - 3.008s

:GPU
VEX - 0.534s
OpenCL - 1.669s
Comed OpenCL - 1.688s


VEX(SIMD)強しですね笑
実行環境,PCスペック
僕自身のカーネルプログラムがダメかもしれないんですが...

結果だけ見ると
MainオペレーションはSIMDがベストという結論になりますねwww

並列/並行処理をうまく使うには
Model、実行環境、プログラムがうまいこと絡み合わないとパフォーマンスがうまく出てくれないですね...

OpenCLのMasterClassがなかなか出ない理由がわかった気がします笑

難しいです。