GCPアカウントの作成
はじめにGCPアカウントの作成を行います。
アカウント作成については以下の記事などを参照してください。
【GCP入門編・第2回】まずは、ここから!知らないと恥ずかしい Google Cloud Platform (GCP) の事前準備! | 株式会社トップゲート
Google Compute Engine(GCE)の利用
GCPアカウントを作成したら、プロジェクトが出来ていると思います。
新しくプロジェクトを作成してもいいです。
プロジェクトを作成したら、GCEのインスタンスを立てる前にGPUの割り当てというものを行います。
メニューからIAMと管理を選択します。
次に左のメニューから割り当てを選択します。
すると、次のような画面になっていると思います。
指標のところで使いたいGPUを選択肢し、自分の使いたいリージョンのところを確認します。
ここで、上限が1になっていればすでに1つ割当てられています。
ハマったところ
GPUを割り当ててインスタンスを作成するときにGPUを選択すると、エラーが起きました。
色々調べると、Compute Engine APIが割当てられていないことが原因でした。(以下の記事のハマりポイント2参照)
Compute Engine APIの割当て申請を行います。
GCEでtensorflow-gpuの環境を構築する - Qiita
インスタンス作成
インスタンスの作成は以下の記事を参照してください。
【GCP入門編・第3回】難しくない! Google Compute Engine (GCE) でのインスタンス起動方法! | 株式会社トップゲート
インスタンスの作成の際に画像のGPUを追加のところから使用したいGPUを選択します。
OSはubuntu16.04にしました。
GPUドライバのインストール
インスタンスを作成したら、インスタンスにアクセスします。
自分はGoogle Cloud SDKを利用しました。
SDKを利用する際は、公式ドキュメントを参照してインストールしてください。
Google Cloud SDK documentation | Cloud SDK | Google Cloud
自分の環境だとデフォルトでsudoが使えなかったので、以下の記事を参考にsudoを使えるようにしました。
OS LoginでGCEインスタンスへのSSH接続を管理する - 本日も乙
sudoが使えるようになったら、公式ドキュメントを参照しながらドライバをインストールします。
自分は公式のスクリプトを利用しました。
vi gpu_install.sh
#!/bin/bash echo "Checking for CUDA and installing." # Check for CUDA and try to install. if ! dpkg-query -W cuda-10-0; then # The 16.04 installer works with 16.10. curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb dpkg -i ./cuda-repo-ubuntu1604_10.0.130-1_amd64.deb apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub apt-get update apt-get install cuda-10-0 -y fi # Enable persistence mode nvidia-smi -pm 1
sudo bash gpu_install.sh
スクリプトが終わったら以下のコマンドで確認します。
nvidia-smi
無事GPUが認識されました。