Azure

Unreal Engineをクラウド上で使う方法。Azure、AWS、GCP、Alibaba Cloudでも。

はじめに

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

https://cloud.google.com/gpu

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 10ならこれでいける。

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インスタンスはそれなりに高額です。
ちゃんと削除するなり停止するなりしてください。
間違って課金状態になっていても責任は持てないので!

-Azure
-, , , , ,