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

前回に引き続き、[ET ロボコン](https://www.etrobo.jp/) EV3/シミュレータ開発環境 ( 「etrobo環境」と呼ぶ ) を Azure の Windows 10 仮想マシン (VM : Virtual Machines) に構築してみたいと思います。

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

NV/NVv3 シリーズの仮想マシンには[「NVIDIA Tesla M60」](https://images.nvidia.com/content/tesla/pdf/188417-Tesla-M60-DS-A4-fnl-Web.pdf)が搭載されています。
今回は、この NV/NVv3 シリーズの仮想マシンに構築します。

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

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


# 事前準備

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

仮想マシンの GPU を利用するには、NVIDIA GPU ドライバーをインストールする必要があります。
以下のドキュメントにある「NVIDIA GRID ドライバー」をインストールします。

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/28001777-d526-3d12-eccb-e1a129bbc3ca.png)

[OK] をクリックして、展開します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/811cc712-6756-5cdb-31d3-84fcb936a211.png)

[NVIDIA ソフトウェア使用許諾誓約書] 画面にて、記載されている内容を確認の上、[同意して続行する] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/83359f71-f5c1-7ec5-e8c3-dde53dd7bb96.png)

[インストール オプション]画面にて、[高速 (推奨)] を選択して、[次へ] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/c852f478-1142-959a-3105-8bcc1be24318.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/c016e45d-428c-46ce-cf51-c92252e1d81c.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/2d2e7461-ae59-700b-8162-dd79adfe958c.png)


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

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/48dd4556-345a-46a7-dea2-3a123dea80ba.png)


## イメージ設定の調整

「NVIDIA GRID ドライバー」をインストールすると、[コントロールパネル] に [NVIDIA コントロール パネル] が追加されていますので、これを開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/2f3ea379-7aeb-f2fc-8c1a-e27469080817.png)

左側の [タスクの選択] より、[3D 設定] > [プレビューによるイメージ設定の調整] を選択します。
そして、[マイ プレファレンスを使用する] を選択し、その下のスケールを [パフォーマンス] に設定して [適用] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/935d3d83-5026-7d20-ad2c-a994cf1bf4fc.png)


# etrobo 環境をセットアップ

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

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


# 動作確認

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

まず、NVIDIA コントロールパネル > イメージ設定の調整を「パフォーマンス」に設定した場合を見てみます。フレームレート制御を [60fps固定] から [可変] に切り替えてスタートしてみた結果、だいたい**「180 ～ 220 FPS くらい」**と高い値で動作していました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/ede333ec-241c-b4ea-4b72-545744728bd1.png)
※NVIDIA コントロールパネル > イメージ設定の調整＝パフォーマンス

続いて、[イメージ設定の調整] を 「バランス」と「クォリティ」に設定した場合は「30 FPS」程度とほぼ変わりませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/8208fc5b-b696-6d6a-66f3-6e25428a3be5.png)
※NVIDIA コントロールパネル > イメージ設定の調整＝バランス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230264/071ddd2f-4086-7cc0-2cc4-6836d9200521.png)
※NVIDIA コントロールパネル > イメージ設定の調整＝クォリティ

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

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