as the Wind Blows ...

パソコン、プログラミング、車、写真、etc...

動画エンコード環境改善 (2) - GeForce 1660 Ti パススルー

さっそく週末にGeForce 1660 Tiが届いたので、PCに取り付けてみました。ボードの長さが178mmと短いバージョンを購入しているのですが、使っているPCケースが小型キューブということもあり、でかい・・・。

事前に長さと厚さはチェックして問題ないことを確認済みでしたが、高さ方向は遮るものないから油断していました。PCIeスロットのブラケットの上にケースファンがあるのですが、そこに3mmくらい干渉している。もともとケースファンを取り外さないと接続できない構造になっているの十分入るのですが、ボードとぶつかるせいでケースファンのねじが閉まらない・・。仕方がいないのでファンの四隅のねじ止めはあきらめ、1か所だけとめて斜めに付けました。風は通っているのでとりあえずは大丈夫でしょう。だけど次PC新しくするときは少し大きいケースにしよう。。

 

さて、問題のGeForce 1660 TiのESXiでのパススルーです。

GeForceGPUのパススルーのノウハウはあちこちに記載があるので省略します。結論から言えば、とりあえず制限付きですが問題なく動いています。

パススルーの時のポイントは下記ですね。

  • BIOSUEFIを選択しておく
  • Integrated GPU(Intel製ならHD Graphics)はBIOSでdisableしておく
  • VMの詳細オプションでhypervisor.cpuid.v0=FALSEを追加する

うちのサーバーはESXi 6.7 u3で動作していますが、ESXi起動直後にGPUパススルー設定したVMを起動した場合は全く問題なく動作します。ただ、VMを再起動したりシャットダウンすると、VM起動後にGPUがデバイスマネージャーでコード43のエラーで動作しません。ちょっと調べたら同じ現象になっている情報がvmwareのサポートページにありました。


https://communities.vmware.com/thread/607001


この方はESXi 6.5では問題なかったが、ESXi 6.7にアップデート後にこの症状になってリセットの挙動の違いが原因ではないかと疑っているようです。この状態になった場合、ESXiを一度再起動し、その後VMを起動すれば問題ないためリセットの挙動の違いが原因というのは可能性が高いと思いますね。別途検証/対策は考えるとして、とりあえずHWエンコードの動作確認に進みます。VM起動しっぱなしにすれば取り急ぎは問題ないしね(笑

 

さて必要なファイルをインストール後にAmatsukazeでNVEncでエンコードしてみます。動作確認と速度チェックなので今回はパラメータとか特に気にせず、ほぼデフォルト設定で行きます。フィルタのチェックはインタレース解除のみ、固定品質モードでエンコードします。結果、x264の場合約300fps、x265の場合も同様に約300fps。SWエンコードの場合と比較して60倍!スゴイ!

CPU使用率は100%に近い。。デコード処理が追いついていないかも。GPUはまだ余裕ありそうですね。デコードもGPUでさせたほうがスピードは上がりそうですね。事前にネットで調べた限りではx265とx264は速度に2倍くらい差があるということでしたが、うちの環境ではどちらも同じですね。GPUが早くなっているのか、CPU性能がボトルネックになってい速度が出ていないのかまだよくわかっていません。

とりあえず、ちゃんと動くことは確認できたため次から画質の妥協点を探っていきたいと思います。