はじめに
これはHoudini Advent Calendar 2016の22日目の記事です。
エフェクト作成時の悩みとして、処理が終わるまでの待機時間がありますが、
その待機時間を高性能なマシンで短縮しようというのが、この記事の趣旨です。
この記事では、高性能なマシンをサクッと確保するため、
Microsoftが提供するAzure NV仮想マシンを用います。
Azure NV仮想マシンとは?
Azure NV仮想マシンは、大雑把にまとめると、NVIDIA Tesla M60 GPUを搭載した、OpenGLを使用するアプリケーションが動く仮想マシンです。詳細はMicrosoftが下記のリンク先の通り案内を出していますので、そちらをご覧ください。
Azure NV仮想マシンは以下のとおり、3つのラインナップがあります。
いずれもCPUはXeon E5-2690 2.60GHzです。(2016年12月20日時点の情報です。)
NV6 | NV12 | NV24 | |
---|---|---|---|
コア数 | 6 | 12 | 24 |
GPU | 1 x M60 GPU | 2 x M60 GPU | 4 x M60 GPU |
メモリ | 56 GB | 112 GB | 224 GB |
料金
Azureは従量課金制なので、電気やガスと同様に使った分だけ料金が発生します。
料金はMicrosoftが提供する料金計算ツールで試算できます。
例えば、Azure NV仮想マシンの1時間あたりの料金は、下表のとおりです。
(※下表は2016年12月20日時点の情報ですので、最新の情報はご確認ください。)
米国中南部 | 西ヨーロッパ | 東南アジア | |
---|---|---|---|
NV6 | ¥137 | ¥163 | ¥190 |
NV12 | ¥275 | ¥325 | ¥380 |
NV24 | ¥550 | ¥650 | ¥760 |
Azure NV仮想マシンは、NV6が最も単価が安く、NV24が最も単価が高いです。
どの地域で仮想マシンを立てるかによっても価格が変わります。
この中では米国中南部が一番安いことがわかります。
仮想マシンの課金の仕組みは色々ルールがありますが、仮想マシンについては以下のとおりになっています。
仮想マシンの課金は時間ごとに課金され、割り当てがされている時間の分だけ課金が発生します。課金を停止するにはポータルから停止し、「割り当て解除済み」状態にすることで、CPUおよびメモリが解放され課金を停止することができます。
いずれにせよ、恵比寿のランチ代よりは安いと思っています。
マシンの性能アップとHoudiniの処理速度
「待機時間を高性能なマシンで短縮」するためには、お題となる処理が必要です。
そこで、今回は下記のチュートリアル動画にある「ジオメトリをファイルに起こすまでの処理」(動画 3:56)を使ってみます。
このチュートリアル動画(3:56)まで、ほぼ同様な手順を踏み、
ジオメトリをファイルに起こすまでの処理時間をNV6とNV24で比較してみます。
比較した結果は下表の通りです。
NV6 | NV24 | |
---|---|---|
コア数 | 6 | 24 |
所要時間 | 22分 | 7分30秒 |
所要時間についてはHoudiniのダイアログに表示された経過時間です。
表をみると、コア数が4倍になると、所要時間は1/3になっていることがわかります。
Houdiniがイケてるアプリケーションと思わせてくれますね。
また別の機能で調べてみると、面白いことがわかるかもしれませんね。
Houdiniを動かすまで
ざっくりとした手順を示します。
- Azure NV仮想マシンを作る
- Azureポータルから実施する。OSにWindows Server 2016 DataCenterかWindows Server 2012 R2 DataCenterを選択すると仮想マシンの作成が楽だと思います。
- 仮想マシンの作り方は「Azure ポータルで初めての Windows 仮想マシンを作成する」が参考になります。
- NVIDIAのドライバーをインストールする
- ドライバーはSet up GPU drivers for N-series VMsの見出し「NVIDIA GRID drivers for NV VMs」近辺にあるリンクからダウンロード可能です。
- Houdiniをインストールする
- Houdiniの機能を試すだけであればHoudini Apprenticeで十分かと思います。
下図はAzure N24のデバイスマネージャの様子です。
Tesla M60が4枚搭載されていることがわかります。圧巻ですね。
下図はAzure N24のHoudiniにシミュレーションさせたときのタスクマネージャの様子です。
CPUを使っていることがわかります。
まとめ
以上の通り、HoudiniをAzure NV仮想マシンで動かす方法について紹介しました。
Azure NV仮想マシンは金銭面では利用の敷居が低いので、「高性能なマシンは持っていないけど、Houdiniのこの機能を試してみたい」という場合や、シミュレーション結果をディスクに残したい場合などでは有効だと思います。
マシンを調達する方法として、HPやDELL、そしてBOXXから買う以外に、クラウドサービスも視野に入れると良いことあるかもしれませんね。
本エントリーが読者様に少しでもお役に立てれば幸いです。