見出し画像

GPUを利用するソフトウェア


はじめに

GPU(グラフィックカード) と言えば、ゲームのために購入するのが当然でしたが、最近は AI 利用をはじめ様々な用途で GPU が利用されるようになりました。この記事では ゲーム以外で GPU を活用できる Windows や Linux アプリを紹介していきたいと思います。

■ Blender

定番の3Dモデリング・3Dレンダリングソフトウェアです。ゲーム以外の GPU 用途としては昔から存在するものですね。「3D表現」という意味ではゲームと用途が同じかもしれませんが、Blender のレンダリングにおいては効率良く並列処理できます。ほぼ100%の並列効率なので、ゲームと異なり安グラボ2枚刺しなら性能も2倍です。

【PR】BOOTH にて販売中の3Dモデル(AIテクスチャ版)

■ HandBrake

定番の動画ファイルの変換ソフトウェアです。HandBrake は Windows 版 Linux 版両方あります。

ゲーム以外の GPU 2大用途として、3Dモデリングと動画変換・編集は定番ですね。

Linux 版 HandBrake

HandBrake を含めて、最近はどれも ffmpeg エンジンが定番ですが、自ビルドした ffmpeg コマンドを利用すると、さらに超高速にハードウェア変換できるようになります。※ ライセンスの問題でバイナリを配布できないので、自分でソースからビルドするしかありません

たとえば、約2分30秒の 4K/60fps 動画を Full-HD に変換します。通常の HEVC ハードウェアエンコードだと、1分13秒(GTX1660ti)必要ですが、

time ffmpeg -i input.webm -c:a copy -c:v hevc_nvenc -b:v 0 -cq 28 -s 1920x1080 output2.mkv

real	1m13.761s
user	6m26.731s
sys	0m4.766s

自ビルドの scale_npp を有効にした ffmpeg を利用すると、34秒で終わります。ファイルサイズは同じですが、画質はこちらの方が良くなります。

time ffmpeg -hwaccel cuvid -c:v vp9_cuvid -i input.webm -c:a copy -vf scale_npp=-1:1080 -c:v hevc_nvenc -b:v 0 -cq 28 output.mkv

real	0m34.308s
user	0m3.653s
sys	0m1.612s

なぜこれだけ差がでるのかと言うと、動画のデコード+4K→2K の縮小作業を CPU で行うか GPUかつGPUメモリ内 で行うかの差です。scale_npp を利用した方は cpu 時間(user)を全く使っていません。

動画変換の GPU の真の力を使いたいという方は、独自ビルドに挑戦するのも良いかもしれませんね。

■ Smooth Video Project

これは知らない人も多いと思います。こちらの記事で紹介しましたが、

30fps動画を60fpsや120fpsにリアルタイムに変換できるソフトウェアです。※ ただし Windows 版は有料です

120Hz以上のゲーミングディスプレイを所有している方であれば、60Hz→120Hzの利用がおすすめです。30Hz→60Hzだと動きの多いシーンではアーティファクトが目立ってしまうのですが、60Hz→120Hzだとほとんどわかりません。60fpsのゲーム録画動画に適用すると、120fpsでプレイしているのと遜色ありません。

リアルタイムの実行時は、GPU の OpenCL または 動き予測 GPU 機能を利用する事になります。GPU のポテンシャルを発揮できる利用方法の一つです。フルHD程度ならば、最近のCPUだけで対応可能ですが、それ以上のサイズになると高性能 GPU の助けが必要になります。

■ NVIDIA 超解像技術

こちらで紹介しましたが、

NVIDIA 謹製で、NVIDIA GPU を利用して動画をアップスケールする技術です。ただし、1080p→4K などの高画質動画を超高画質にするチューニングなので、2K(1440p)以上のディスプレイを持っていないとあまり効果はないようです。Google Chrome YouTube動画や、VLC、MPC等で利用可能です。

■ VOICEVOX

AIを利用した合成音声ソフトウェアです。

VOICEVOX

CPUのみでも利用可能ですが、GPU を利用した方がよりリアルタイムに動作します。

最近は VTuber やナレーションで良く利用されていますが、API も用意されているので、プログラミングできる人であれば、リアルタイム用途にも利用できます。筆者環境では、キーボード・ショートカットに登録して、コピー範囲やメモ、記事、ニュースの読み上げに利用しています。ながら作業を行う時に便利です。

画像生成系AI

単に画像を生成するだけではなく、編集やアップスケーラ等も可能です。ゲーム以外の GPU 用途では、3Dや動画編集を抜き去った感があります。

ゲームでは「FPSこそ正義」ですが、リアルタイム性を要求しない画像生成では「メモリ量こそ正義」になります。

■ Stable Diffusion webUI

Stable Diffusion 定番の画像生成ソフトウェアです。

■ NMKD Stable Diffusion GUI

Windows の GUI アプリとして動作します。

更新は止まっているようですが、LoRA 学習を最も簡単に手軽に利用できます。

■ ComfyUI

ノードエディタで画像を生成します。

■ IOpaint

インペイント画像編集に特化したAIソフトウェアです。

文字を置換・修正するモデルも利用できます。

AnyText モデルによる文字置換

大規模言語モデル系AI

使い方によっては有料のネットサービスを超えるローカル画像生成 AI と異なり、ローカル LLM はかなり力不足です。たとえば、現在ネットで無料利用できる ChatGPT や Gemini は 70B モデルを利用していますが、ローカルで実行しようとすると 100GB以上の GPU メモリが必要です。まず家庭では無理ですね。うん十万円する最高峰の Geforce であっても全くの無力です。

しかし小型の7Bモデルであれば、10GB以下のGPUメモリで実行する事ができます。

ローカル実行では、次の2つの(オープンソース&無料の)ソフトウェアが主流になりつつあります。

  • ■ LM STUDIO

    • Windows の GUI アプリとして最も簡単に利用できます。

  • ■ Ollama

    • DIFY:最近話題のLLMアプリ環境で、Ollama と利用すると完全にローカルだけで完結します。

    • Open WebUI:Ollama の GUI フロントエンドです。

ネットの大手 AI サービスと比べるとかなりおバカさんですが、RAG(Retrieval-Augmented Generation)用途ではローカルは化けます。つまり特化した利用法です。画像生成でもそうですが、自由度を狭める(写真のみに限定や特定のキャラクタ生成に限定する)と品質は指数関数的に良くなります。

他にも、個人情報や機密、著作物をネット上のサーバーに食べさせるとクリアしなければならない法問題が多いため、ローカルの強みは大きいです。購入した著作物であったとしても、ChatGPT に食べさせる事は、その情報をまるまる第三者へ提供している事を意味しますから。※ イタリアでは、当初 ChatGPT の利用が禁止された事も記憶に新しいと思います

まとめ

以上、GPU を利用するソフトウェアをまとめました。

一般にパソコン・パーツの中でも、GPU は CPU を超えて最も高価格なパーツです。その最高級パーツをゲームだけに限定するのはもったいないと思います。さまざまな用途に挑戦してみてください。


この記事が気に入ったらサポートをしてみませんか?