NVIDIA P100搭載のECSを3D用途で使ってみる#2

この記事は Alibaba Cloud の日本サイト の環境(ドキュメントやアカウント、そのアカウントでの検証結果)に基づいて記載しています。 日本サイトと国際サイトでは各プロダクトごとに提供機能が一部異なることがあります(そのほとんどは国際サイトの方が日本サイトよりも多機能になっている)。記事の内容は適宜最新化する予定です。

ECSでNVIDIA P100をグラフィックスカードとして利用する話を再チャレンジします。 前回、P100を搭載するECSインスタンス gn5を購入し、P100用のドライバのインストールを行いました。 しかし、OSからグラフィックスカードとして認識出来ませんでした。

今回は、マニュアルを確認しながら進めます。 結果、P100用のドライバに加えて、GRID用ドライバのインストールやGRIDのライセンス設定が必要なことがわかりました。 手順を具体的に紹介していきます。

なお、今回の記事もテスト完了まで至っていません。 途中でNVIDIA GRIDの試用ライセンスの取得申請を行うのですが、即時ではなく(24時間以内)、試用ライセンスが届き次第再開することにします。

前回の記事は以下になります。

1. ドキュメントセンターの確認

今回はテストを始める前(ECSインスタンスを購入する前に)に、ドキュメントを確認してから進めることとします。

1.1. gn5 インスタンスタイプファミリーの仕様を確認する

ドキュメントセンターにアクセスし、ECSのインスタンスタイプファミリーの説明ページを確認します。 

URLはこちら

下の方にスクロールします。GPUを含むコンピューティング最適化タイプファミリーとして以下の5つのタイプがあります。

5つのインスタンスタイプを簡単に整理すると以下の通りです。 東京リージョンではgn5のみの提供となります。 V100を利用したい場合は上海リージョンなどで利用可能です。

タイプGPU 東京リージョン
gn6vNVIDIA V100  N/A
gn5NVIDIA P100利用可能
gn5iNVIDIA P4N/A
gn4NVIDIA M40N/A
ga1AMD S7150 N/A

gn5の仕様を詳しく見ていきます。 上記のマニュアルのリンクをクリックすると同じページ上のgn5の紹介にジャンプします。

タイプファミリーの仕様の概要が記載されています。 ”以下に適しています”のところに”サーバーサイドGPU計算の負荷”とあるのでいわゆるグラフィックカードとしてのGPU利用もOKと読み取れます。

続けて、インスタンスタイプごとに仮想マシンの仕様のマトリックスがあります。  最低スペックがvCPU×4、メモリ30GB、P100×1です。 イントラネット通信の帯域幅もインスタンスタイプごとに異なることに注意しましょう。 タイプによっては10Gbps以下となっていますのでHPCなんかでは要注意ですね。

以下のリンクにGPU付きのECSインスタンスの作成について記載があるようです。
GPU を含むコンピューティング最適化インスタンスの作成

1.2. gn5インスタンスの作成方法を確認する

GPU を含むコンピューティング最適化インスタンスの作成にアクセスします。

gn4とgn5のインスタンス作成について要件をまとめたマトリックスが確認できます。 

  • リージョンとゾーンに東京リージョンは見当たりませんが購入は可能です。 ドキュメントの反映のタイムラグなだけだと思います。
    • ”アジア太平洋SE [1-5]”のSEはSouth Eastの略
    • 東京リージョンはNorth EastでNE
  • ”ネットワーク請求方法”でのポイントは、WindowsOSでGPUドライバが有効になるとRDPによる直接接続しか出来なくなるので注意してください、という話です。 Alibaba Cloud コンソールのVNCが利用出来なくなるということです。 

続けてGPUドライバのダウンロードについて詳しく説明があります。 内容としては前回実施した内容と同じであり、インストールしたドライバや手順に特に問題がなかったことを確認出来ました。

最後まで見ていくと、とても有用な情報が見つかりました。 前回のテストでOSがグラフィックスカードとして認識出来なかった原因はこの作業が抜けていたためだったようです。 

”gn5インスタンスにOpenGLが必要な場合は、GRIDドライバをインストールする必要があります”とのこと。 こちらは前回実施していません。 実施手順に追加することとします。

1.3. GRIDドライバのインストール

ドキュメントセンターのGRIDドライバのインストールのマニュアルを確認します。

URLはこちら

一つ大事なことが記載されています。 OpenGLの使用許諾が無いため試用版を使用する必要があるとのこと。 

Maxwell以降、ハードウェアとしてのGPUに加えてライセンスとサポートの購入が必須となっています。 クラウドでは新しく包括ライセンス的なものを採用しているかと思っていたのですが違うようです。 試用ライセンスの入手やライセンスサーバなど考えなければいけないことが増えてきました。

また、ここで紹介されるインストール手順はUbuntuとCentOSのみでWindowsは対象外です。手順が未公開ということはトライしその結果を情報共有する価値があると前向きに考えます。

なお、Linuxのテストについては別途行います。 Windows用のX Window でXmingやsubsystem for WSLを利用するなどテストのしがいはありそうです。 SPICEなどの画面転送プロトコルを使ってみる、VMware HorizonやCitrix XenDesktopでのLinux VDIもよいかもですね。 休日の1日がかりのテストとなりそうですが。

上記ページを下の方にスクロールしていくと具体的なインストール手順が記載されています。 その中でGRIDドライバのダウンロードとインストールの手順があるのですが、モジュールはAlibaba CloudのOSSからダウンロードすることになっています。 Windows版に関する記載はありません。

また、7番目の手順ではライセンスサーバの指定もあります。これはAlibaba Cloud側で準備しているライセンスサーバなのでしょうかね。 

補足するとNVIDIAのGPU仮想化はMaxwell (M40など)からGPUボード+ライセンスによる機能付与に提供形態が変わりました。また、ライセンスも複数種類あり、利用できる機能が変わります。 Kepler(K1/K2)はGPUボードを買うだけですべての機能が利用出来たのですけどね。

ドキュメントから以下のことがわかりました。

  • gn5でNVIDIA P100をグラフィックスカードとして利用出来る
    • マニュアルではLinuxでOpenGLのテストまで手順公開
    • Windowsの記載は無いが理論的には利用できるはず
  • GPUドライバだけではなく、GRIDドライバのインストールが必要
  • GRIDドライバインストール後にライセンスサーバの指定が必要
    • ライセンスサーバはAlibaba Cloud側で事前に準備されている

2. GRID ドライバの入手

また、GRIDドライバの入手が課題です。  マニュアルではAlibaba Cloud OSSからLinux版のみダウンロード可能でWindows版に関しては記載が無いためです。

まずはInternationalサイトのドキュメントセンターを確認します。こちらにはWindows版モジュールに関する案内はありませんでした。 マニュアルは英語ですが記載の内容は日本サイトと同じでした(日本サイトの元がInternationalサイトなので当たり前の話ですが)。

URLはこちら

次に安直な方法を試します。 もともとのダウンロードパスは以下なのですが、

https://nvidia-driver.oss-cn-huhehaote.aliyuncs.com/NVIDIA-Linux-x86_64-390.57-grid.run

”NVIDIA-Linux-x86_64-390.57-grid.run”の”Linux”を”Windows”に置き換えて試します。 ダメでした。 拡張子を”.exe”や”.zip”にしてもダメですね。

それでは正攻法で進めることにします。 NVIDIAのサイトから入手します。

URLはこちら

”ソフトウェアのダウンロード”から入手可能です。 また、90日間利用できる評価ライセンスがあります。 Alibaba Cloud提供のライセンスサーバが利用出来ない場合は、こちらで評価ライセンスも入手することにします(その場合、ライセンスサーバの立ち上げも必要になり手順は増えますが)。

”ソフトウェアのダウンロード”をクリックします。以下のフォームから申請することになります。

ライセンス発行は即時ではないようです。 FAQを見たところ24時間以内とのこと。1時間近くまっても発行されないので、作業をいったん中断することにします。

Appendix 東京リージョンで購入できる最高スペックのgn5

東京リージョンでは2枚のP100、54vCPU、480GBメモリが最大スペックの構成です。 年間で340万円ちょっと5年で1700万円ですが、悪くない数字だと思います。 なお、 東京リージョンでは8枚のP100搭載モデルは未提供です。

以上です。