はじめに
Unreal Engineはクラウド上でも動作します。各社GPU搭載のインスタンスが登場し、高性能なGPUを利用できるようになっています。そこでUnreal Engineをクラウド上で動作させる紹介をしていきたいと思います。
https://www.unrealengine.com/ja/
各クラウドのGPUインスタンス
Azure
https://docs.microsoft.com/ja-jp/azure/virtual-machines/sizes-gpu
AWS
https://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/gpu.html
GCP
Alibaba Cloud
https://www.alibabacloud.com/ja/product/gpu
大体のインスタンスでV100、P100、M60、K80をサポートしています。
たぶんGRIDドライバー自体はどれでも動きます。
注意:GPUインスタンスはそれなりに高額です。確認終了後はちゃんと削除するなり停止するなりしてください。
動作するには
クラウド上でUnreal Engineを動かすポイントは1つだけす。
DirectXを動くようにする。
そんなの簡単じゃん?と思うと思いますが、意外と最初ハマりました。
知ってる人は知ってると思うのですが、NVIDIAの最新ドライバーをそのままダウンロードしてインストールしても動作しません。
CUDA用なんで...めんどくさいw
Unreal Engineをインストールして起動するときにエラーが発生します。
「 DX11 feature level 10.0 is required to run the engine. 」
dxdiagで確認すると、10.0対応してるんじゃ?と思っても動きません。
そこで登場するのがGRIDドライバーです。
GRIDドライバーはvGPU用のドライバーです。
NVIDIAからもダウンロードできるようですがログインが必要となります。
そのため各クラウドで提供されているドライバーをで評価するのが良いでしょう。
注意:各クラウドで提供されているものは、ライセンスを確認してから利用してください。
Azure
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/n-series-driver-setup
Azureの場合はNvシリーズおよびNVv3シリーズのみライセンス提供されるようです。
AWS
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/install-nvidia-driver.html
T4、M60ハードウェアと書いています。ライセンス提供されるようですが自力で導入が必要なようです。
GCP
https://cloud.google.com/compute/docs/gpus/install-grid-drivers?hl=ja
GCPでインスタンスサイズ指定は特に記載がありません。「Google Compute Engine での使用のみを目的としています。」って書かれているのでたぶんライセンス込みなのでしょう。確認してください。
Alibaba Cloud
https://www.alibabacloud.com/help/ja/doc-detail/118477.htm
vgn6i、vgn5iのインストール方法が書かれていますが、NVIDIAからライセンス購入が必要となるようです。
GRIDドライバーの価格表は下記のようです。詳しくは分からないためNVIDAに確認してください。
https://www.nvidia.com/ja-jp/data-center/buy-grid/
評価版もあるようです。
今回はAzureを例に進めていきたいと思います。
ドライバーのインストール
今回、OSはWindows Server 2019を利用しています。
AzureのサイトからGRIDドライバーをダウンロードしてきます。
ただし、現在ドキュメントではGRID 10.1 (442.06) (.exe)をダウンロードしても何故かインストールできませんでした。
GRID 10.0 (441.66) (.exe)をダウンロードしてインストールします。
以上で準備は完了です。
ドライバーを再インストールしたい場合はCustom Installationを行います。
下にある「Perform a clean installation」にチェックを入れてからからインストールすると他のドライバーは削除されてからインストールされます。
Unreal Engineをインストールする
Unreal Engine サイトからダウンロードのページへ飛びます。
Publishing Licenseを選択します(それぞれあったライセンスを選択してください)
ダウンロードにはEPIC GAMESのアカウントが必要となります。
無い人は作成します。ログインします。
様々なアカウントも利用できます。
最初にEpic Games Launcher がインストールされます。
インストール後、.Net Framework 3.5をインストールを促されますがWindows Serverの場合は機能追加を行う必要があります。
Windows Server は役割と機能を追加から追加します。
Epic Games Launcher起動後、再度ログインします。
右上の「Install Engine」からもインストールできますが、とりあえずLlibraryを開きます。
Engine Versionsの「+」をクリックしてインストールするバージョンを追加します。
インストール場所を確認してインストールします。4.25.0は(画は9GBですが)10GBオーバーです。
以上でインストールは完了です。
動作確認
インストール後はLauncherから起動するかデスクトップにされるアイコンから起動します。
起動後はサンプルのプロジェクトを作成します。
今回はGameから Third Person を選択します。人をぐりぐり動かせるサンプルです。
せっかくなのでGameっぽい感じで動かしてみたいと思います。
FileからPackage ProjectからWindows(64-bit)をクリックします。
保存したいフォルダを選択しパッケージ化します。
Shaderの処理が入るため少々時間かかります。多分インスタンスサイズで処理速度変わります。
保存されたものはプロジェクト名でexeが作成されるので起動しましょう。
終了したい場合は「@」キーを押します。
下にexitを入力して終了します。
リモートデスクトップでつなげているので画像が汚いですが、Print Screenでコピーするとキレイなことが分かります。
以上で動作確認は完了です。
まとめ
今回はGPUインスタンスを利用してUnreal Engineを動作させることを紹介しました。
たぶん、DirectXを利用するソフトはドライバーのインストール自体は同じかと思います。
あと再度、書きますが気を付けて欲ください。GPUインスタンスはそれなりに高額です。
ちゃんと削除するなり停止するなりしてください。
間違って課金状態になっていても責任は持てないので!