2024.07.17

仮想GPU(vGPU)とは?仕組みやAI分野での活用例【トゥモロー・ネット テックブログ】

GPUを仮想的に分割して利用できるvGPU技術により、VDIや機械学習環境、HPC環境においてGPU資源を効率的に利用できるようになりました。従来では効率性の面で課題のあったVDI環境での高度なグラフィック処理や、学術計算・AIモデル開発におけるGPU資源の併用なども、vGPUを利用することで実現しやすくなります。

vGPUとはどのような仕組みであり、どのような活用方法が考えられるのでしょうか。この記事で解説します。

仮想GPU(vGPU)とは?

vGPUは1台のGPUを複数の仮想マシンやコンテナなどで併用するために、仮想的にGPUを分割する技術です。各GPUメーカーの製品には仮想化機能が用意されており、たとえばGPU製品のトップランナーであるNVIDIA社では「NVIDIA vGPU」という名称で仮想化の機能が提供されています。

従来、VDIによる仮想デスクトップ環境構築において高度なグラフィック処理を行いたい場合、GPUパススルーにより仮想マシンとGPUを1対1で紐づけて利用していましたが、この方式では各仮想マシンユーザーがGPUを占有利用することになり、効率的にGPUを利用することは難しかったといえます。vGPUにより、VDI環境で効率的なGPU利用が実現できるようになり、CADやCAEなどのソフトウェアも利用しやすくなりました。 

また、サーバー上での機械学習モデルの学習/推論を行う際にも、各仮想サーバーやコンテナにvGPUを配置することで、限りあるGPU資源を効率的に利用できます。

vGPUの仕組み

ここでは、NVIDIA vGPUを例にvGPUの仕組みをご紹介します。NVIDIA vGPUでは、物理サーバーに搭載されたGPUをvGPU Managerにより分割し、仮想的にvGPUを生成します。生成したvGPUを仮想マシンやコンテナに割り当てることで、複数の仮想マシンやコンテナでGPUを併用できます。

たとえば、コンテナ管理ツールであるKubernetesで複数のコンテナを作成し、そこで個別のアプリを動かす場合、そのままだと1コンテナで1つの物理GPUを占有してしまいます。vGPUで物理GPUを分割し、各コンテナにvGPUを割り当てることで、1つの物理GPUを効率よく運用できます。

NVIDIA vGPUでは、物理GPUのコアはタイムスケジューリングにより分割利用されます。非常に短い時間単位でコアを利用するvGPUを切り替えることで、複数のvGPUでコアを併用しています。また、物理GPUのメモリ領域は各vGPUに占有で割り当てられます。たとえば48GBのメモリ容量を持っているGPUを4つのvGPUで利用する場合、各vGPUに割り当てられるメモリは12GBずつとなります。

NVIDIA vGPUの4つのライセンス

NVIDIA vGPUを利用するためには、用途に応じたライセンスが必要です。NVIDIA vGPUでは以下の4種類のライセンスが用意されています。ライセンスごとに、仮想デスクトップの構築可否やRDSHによるホスティングの可否、最大画面数、最大解像度などが定められています。

各ライセンスの概要は以下のとおりです。

NVIDIA Virtual Compute Server (vCS)

機械学習やデータ分析、GPGPU処理などを実施する場合に利用するライセンスです。仮想マシン上で高負荷なワークロードを処理する場合に利用されます。

NVIDIA RTX 仮想ワークステーション (vWS)

仮想デスクトップ環境上で、3D CADやCG制作など、高度なグラフィック処理を行うソフトウェアを利用する際のライセンスです。

NVIDIA 仮想 PC (vPC)

仮想デスクトップ上で、動画閲覧やドキュメント編集などのPC作業においてグラフィック性能を強化したい場合に利用するライセンスです。

NVIDIA 仮想アプリケーション (vApp)

リモートデスクトップセッションホスト (RDSH)ソリューションを使用する場合に利用するライセンスです。

用途に応じてこれらの各ライセンスを取得したうえで「NVIDIA License System」によるライセンス認証を実施することで、各vGPUは有効化されます。

vGPUとMIG

vGPUと似た概念にMIG(マルチインスタンスGPU)という技術が挙げられます。MIGはNVIDA社が提供している技術であり、ソフトウェアレベルで分割を行うvGPUと異なり、MIGはハードウェアレベルで仮想化を行う仕組みです。MIGでは1つの物理GPUを最大7つの仮想GPUに分割することができます。

NVIDAのAmpereアーキテクチャ以降で導入された技術であり、ハードウェアレベルでGPUの分割を行うことで、処理のオーバーヘッドを抑えられるというメリットがあります。

vGPUの活用方法

vGPUの主な活用方法、ユースケースは以下のとおりです。

機械学習環境の基盤構築

vGPUのユースケース例として、機械学習環境の構築が挙げられます。機械学習環境を複数人で利用し、AIモデルの開発を行う際に有効な構成です。高価なGPUを効率的に利用するために、vGPUによりリソースを分割しリソースの空きを減らすことができます。

なお、NVIDIA社が提供するAIプラットフォームであるNVIDIA AI Enterpriseにおいても、vGPUを用いたAI実装がサポートされています。NVIDIA AI EnterpriseにはAIモデル開発のための様々な機能が備わっており、機械学習環境の構築において有効なツールです。

高度なグラフィック処理を要する仮想デスクトップ環境の構築

CADソフトウェアでの自動車、建築物などの設計作業や、BIMによる建設構造物の設計作業など、仮想デスクトップ環境において高度なグラフィック処理を行う場合にvGPU技術を利用できます。単一のGPUを複数の仮想デスクトップで併用できれば、限られたGPU資源を効率的に活用できます。特に仮想デスクトップの利用タイミングが分散している場合には、コストメリットを高めることができます。

HPCや大規模データ解析などでの大規模並列処理

研究目的やビジネス目的などで大量のデータ処理を行う際にも、vGPUの活用が有効です。複数人で併用する分析環境においては、GPU資源の割り当てを柔軟に行うことでコスト効率化を図れます。たとえば研究機関や大学などにおいて学術的な計算処理やシミュレーションを行う場合にはハイスペックなマシンが必要となりますが、各利用者は365日マシンを利用するわけではありません。コストを抑えつつ多くの利用者にGPUを利用してもらうために、vGPUの活用が有効です。

まとめ

この記事では、仮想GPUの概要や仕組み、具体的なユースケース例についてご紹介しました。AIモデルの開発やシミュレーションなど、GPUのニーズが高まる一方で、GPUの確保の難しさやそのコストから、効率的にGPUを利用していく必要があります。仮想GPUの利用により、限られたGPUリソースを効率的に利用することができます。

トゥモロー・ネットでご支援できること

トゥモロー・ネットでは、NVIDIAのパートナーとしてH100をはじめとするGPU製品や、NVIDIA AI Enterpriseの販売や導入サポートを実施しています。きめ細やかな提案、構築、導入を提供いたしますので、GPUをお探しの方はぜひお問合せください。

NVIDIA GPUサーバー専門サイトはこちら

NVIDIA AI Enterprise専門サイトはこちら

お問い合わせはこちら

お問い合わせはこちら

関連ページ

GPUスケーリングとは?AIの生産性向上に役立つNVIDIA MIGとの関係

NVIDIA GPUはなぜAIに最適なのか?選定するポイントも紹介

クラウドコンピューティングとは?仕組みやメリット・デメリットを解説

この記事の筆者

株式会社トゥモロー・ネット

クラウドソリューション本部

製品のお問合せはこちらから

トゥモロー・ネットは「ITをもとに楽しい未来へつなごう」という経営理念のもと、感動や喜びのある、より良い社会へと導く企業を目指し、最先端のテクノロジーとサステナブルなインフラを提供しています。設立以来培ってきたハードウェア・ソフトウェア製造・販売、運用、保守などインフラに関わる豊富な実績と近年注力するAIサービスのコンサルティング、開発、運用、サポートにより、国内システムインテグレーション市場においてユニークなポジションを確立しています。
インフラからAIサービスまで包括的に提供することで、システム全体の柔軟性、ユーザビリティ、コストの最適化、パフォーマンス向上など、お客様の細かなニーズに沿った提案を行っています。

ページトップへ戻るボタン