ブログで飯なんか食えるか!

なんだかんだ叫びます

Alienware Alpha で nvenc (CUDA) やってみた

 Alienware Alpha を知っているか?

1年半ぐらい前に400ドルで買ったコンパクトPC「Alienware Alpha」。縦が6センチぐらいで横は20センチ四方のミニパソコンなのですが、そこそこのGPU (Geforce GTX 860M)を搭載しているんです。で、なぜかxbox 360のコントローラーもついてくるという謎仕様。結構お買い得。後日250ドルほどでSSD換装とメモリ追加(合計8GB)にしています。

www.4gamer.net

 

せっかくなのでGPUコンピューティング!

で、こいつのビデオチップのGeforce GTX 860M というのはそこそこの能力がありまして、新しい3Dゲームも最高画質設定とかにしなければそこそこ遊べるわけです。(ビデオカードだけで8万円もするような最新のGPUと比べればカスですが・・)

ただ、ゲームをするだけでは勿体ないので、流行りのCUDAをやってみようかと思いました。CUDA先輩、マジハンパねえ・・(はず)。

やったこと

  1. Ubuntu 14.04をインストールしてデュアルブートにする
  2. CUDA 8.0 をインストール
  3. FFMPEG を nvenc を有効化してコンパイル。比較のためx264も有効にしておく
  4. 動画を変換してみて、本当に速いか確かめる

困ったこと

  1. UEFIブートでWindowsとUbuntuをデュアルブートにするのに手間取りすぎた。セキュアブートをオフにして、Windows の FastBoot もオフにするべし。bcdedit.exeとかrEFIndとかいろんなものを試しまくって疲弊・・
  2. CUDAと一緒に入るnvidiaドライバーをインストールするにはubuntuの標準ドライバをblacklistに入れる必要があります。てか、公式ドキュメント読むのが吉。英語怖いけど
  3. gitでソースを落としてきてconfigureしてコンパイルするだけ。CUDAのheaderとかlibのフォルダを指定する必要があった。最初x264を有効化するのを忘れたのでCUDAしか使えないというffmpegが出来上がってしまい、CPUと速度比較できなかった。コンパイルしなおしました・・
  4. 特に苦労はなし。ffmpegのオプション?ググるが吉。

変換タスクに使った動画

Aquarium Free footage in mp4, avc format for free download 164.63MB

この熱帯魚の動画(1分44秒, 1080p, 無音)を 720p の h264/mp4動画に変換する

 

結果

h264_nvenc (CUDA) : 24.904秒

libx264 (CPU): 1分34.766秒

 

3.8倍ぐらいCUDAが速いという結果になりました。やっぱCUDA先輩ハンパなかったっす。