グラフィカル プロセシング ユニット (GPU) を使用すると、機械学習モデルの処理時間をすばやく向上することができます。ArcGIS Notebook Server でいくつかの手順を追加で実行すると、ホスト コンピューターで NVIDIA GPU を活用できるようになります。
ArcGIS Notebook Server のインストールと構成を完了したら、同じコンピューター上で次の手順を実行します。
- コンピューターに適切な NVIDIA ドライバーをインストールします。詳細については、NVIDIA Web サイトをご参照ください。
- ノートブックのコンテナーが GPU を活用できるよう、コンピューター上に nvidia-docker 2.0 ランタイムをインストールします。OS 別のダウンロードとドキュメントについては、GitHub の NVIDIA-Docker リポジトリ をご参照ください。
- 次のコマンドを実行し、NVIDIA の要素が適切にインストールされていることを確認します。
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
- Dockerfile で Advanced ノートブック ランタイムを拡張し、次の環境変数を設定して、GPU によって高速化されたコンテナーに対して NVIDIA Container Runtime を有効にします。
GPU サポートを利用できるその他の Python モジュールをインストールすることもできます。Dockerfile の構築方法については、「ノートブック ランタイムの拡張」をご参照ください。# Specify the existing notebook runtime imageId as FROM FROM aa7a1a346e5b # Use RUN to issue a command to install # Declare environment variables with ENV #RUN conda install <your_preferred_gpu_package> ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility ENV NVIDIA_REQUIRE_CUDA "cuda>=9.2"
- 次のコマンド構文を使用し、カスタム コンテナー イメージを構築します。
コマンド末尾に必ずピリオドを含めてください。docker build -t myGpuRuntime:v1.0 -f <path_to_Dockerfile> .
- イメージの構築が完了したら、新しいイメージの簡略的な imageId が出力メッセージで送信されます。新しいコンテナーの完全な imageId を取得します。
docker inspect <imageId>
- https://notebookserver.domain.com:11443/arcgis/admin で ArcGIS Notebook Server Administrator Directory にログインします。[ノートブック] > [ランタイム] に移動し、Advanced ランタイムを選択して [編集] をクリックします。
- 新しいカスタム イメージを使用するよう、Advanced ランタイムを更新します。既存の imageId 値をイメージの値で置換します (手順 6 で取得した値)。
- dockerRuntime の値を nvidia に設定します。編集内容を保存します。
- ArcGIS Notebook Server で NVIDIA GPU を使用するよう正常に構成したことを確認します。[Advanced ノートブック] 権限を持つポータル メンバーとして、新しいノートブックを開きます。次の内容をセルにコピーし、セルを実行します。
True パッケージを実行するには GPU が必要なので、出力は torch.cuda として返されます。import torch torch.cuda.is_available()
- 新しいセルで次のコマンドを実行し、コンピューターの GPU 構成を確認します。
!nvidia-smi
GPU を使用するために ArcGIS Notebook Server サイトの容量を削除したい場合は、Administrator Directory で初期状態のランタイムの復元操作を実行します。これは、URL https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore にあります。