Azure VM で ET ロボコン EV3/シミュレータ開発環境を構築しよう (NVv4 シリーズ編)

いろいろ調査で投稿が遅くなってしまいましたが、今回も [ET ロボコン](https://www.etrobo.jp/) EV3/シミュレータ開発環境 ( 「etrobo環境」と呼ぶ ) を Azure の Windows 10 仮想マシン (VM : Virtual Machines) に構築してみたいと思います。

etrobo 環境を構築するための仮想マシンの作り方は、[「準備編」](https://qiita.com/tetsuya-ooooo/items/29aca6eb9587e501e033)をご参照ください。

NVv4 シリーズの仮想マシンには[「AMD Radeon Instinct MI25」](https://www.amd.com/ja/products/professional-graphics/instinct-mi25)が搭載されています。
今回は、この NVv4 シリーズの仮想マシンに構築します。

この連載は、以下の 3 つに分けて投稿します。

- [Azure VM で ET ロボコン EV3/シミュレータ開発環境を構築しよう (準備編)](https://qiita.com/tetsuya-ooooo/items/29aca6eb9587e501e033)
- [Azure VM で ET ロボコン EV3/シミュレータ開発環境を構築しよう (NV/NVv3 シリーズ編)](https://qiita.com/tetsuya-ooooo/items/dd640004f6fb23ed85fe)
- **Azure VM で ET ロボコン EV3/シミュレータ開発環境を構築しよう (NVv4 シリーズ編)...この記事**


# 事前準備

## GPU ドライバーのインストール

仮想マシンの GPU を利用するには、AMD GPU ドライバーをインストールする必要があります。
以下のドキュメントで記載されている「ドライバー」をインストールします。
※NVv4 仮想マシンでは、Microsoft によって公開された GPU ドライバーのみがサポートされます。**他のところから入手した GPU ドライバーをインストールしないでください。**

[参考：Windows を実行している N シリーズ VM に AMD GPU ドライバーをインストールする](https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/n-series-amd-driver-setup?WT.mc_id=AZ-MVP-5003113)

「AMD GPU ドライバー」のインストーラーをダウンロードします。ダウンロード完了後、このインストーラーを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/b01d02e4-b662-86c6-01c2-f9d3a0a315fb.png)

[Install] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/0f8ce003-380e-b7e5-37f3-4735eeb61a3e.png)

インストールが終了するまで、しばらく待ちます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/4764d041-5823-60a5-fc10-9e4270d43962.png)

インストールが終了したら、[Close] をクリックして閉じて、仮想マシンを再起動します。
リモートデスクトップ接続も切断されますので、しばらく経ってから再びリモートデスクトップ接続してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/93523649-6c07-abd8-4691-245c7d351554.png)


## インストールした GPU ドライバーの確認

再起動後、GPU ドライバーが無事インストールされたか確認します。[コントロールパネル] から [デバイス マネージャー] を開きます。

ディスプレイアダプター配下に「Radeon Instinct MI25 MxGPU」があること、プロパティを開いて正常に動作していることを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/886c9d9b-b4dc-91af-efc5-3097dbc48d26.png)

Direct X 診断ツール (dxdiag.exe) でも確認します。
以下は、Standard NV4as_v4 で実行した結果です。[スペックどおり](https://docs.microsoft.com/ja-jp/azure/virtual-machines/nvv4-series?WT.mc_id=AZ-MVP-5003113)となっていることが確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/f63df819-a860-0ed0-a0f3-00e7b90aa577.png)


## イメージ設定の調整

前回の [NV/NVv3 シリーズ](https://qiita.com/tetsuya-ooooo/items/dd640004f6fb23ed85fe#%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E8%A8%AD%E5%AE%9A%E3%81%AE%E8%AA%BF%E6%95%B4) と同様にレンダリングを調整できる機能があることを期待していたのですが、Tips を探したり、Azure サポート様 (無茶ぶりしました :sweat_smile: ご協力いただきありがとうございました) に問い合わせたりしましたが、今のところ無さそうです。ざんねん...:disappointed_relieved:
今後の機能改善に期待しましょう。(2020 年の試走会や競技会には間に合わなそうですが)


# etrobo 環境をセットアップ

あとは、公開されている以下のドキュメントの手順に従って、etrobo 環境をセットアップします。

[参考：GitHub - ETrobocon/etrobo: ETロボコンのEV3/シミュレータ双方に対応する開発環境](https://github.com/ETrobocon/etrobo)


# 動作確認

それでは、サンプルをビルドしてシミュレータの動作確認してみます。
※以下は、Standard NV4as_v4 (CPU : 4 vCPU, RAM : 14 GiB) の Windows 仮想マシンでの独自の検証結果です。

フレームレート制御を [60fps固定] から [可変] に切り替えてスタートしてみた結果、**「20 FPS」前後**といったところでしょうか...

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/f81ec60a-042c-6324-d399-3734b027113e.png)

※シミュレータが評価版ではないのはご愛敬... :sweat_smile:

お安く GPU 搭載の仮想マシンが利用できたら良いなと思うところですが、これではちょっとツラいですね。:disappointed_relieved:
**レンダリング調整機能が欲しいです！はよこい！**

以上となります。
お役に立てれば幸いです。

※当投稿は、ET ロボコン実行委員会による公式コンテンツではありません。