- 印刷する
- PDF
GPU Server
- 印刷する
- PDF
Classic環境で利用できます。
NAVERクラウドプラットフォームコンソールで GPUサーバを作成して管理する方法を説明します。
- 予期せぬサーバ障害または予定された変更タスクなどの際に、中断せずにサービスを継続する保障ができるよう、サーバは基本的にゾーン間の冗長化構成をお勧めします。Load Balancer の概要を参照して冗長化設定を行います。
- NAVERクラウドプラットフォームでは、メモリ、CPU、電源供給などの物理サーバの障害に備えるため、High Availability(HA)構造を提供しています。HAは、ハードウェアで発生した障害が Virtual Machine(VM)サーバに拡大されることを防ぐためのポリシーで、ホストサーバに障害が発生した場合、自動的にホストサーバの中にある VMサーバを安定した他のホストサーバに移す Live Migrationをサポートします。ただし、Live Migrationを行えないエラーが発生した場合、VMサーバは再起動します。VMサーバ1台でサービスを運用する場合、VMサーバの再起動により障害が発生し得るため、障害の発生頻度を減らすために上記のように VMサーバを冗長化することをお勧めします。
サーバ情報確認
GPUサーバ情報を確認する方法は、一般サーバ情報を確認する方法と同じです。詳細は、サーバ情報確認をご参照ください。
GPUサーバは、サーバ停止中も全体サーバ料金が発生します。
サーバ作成
GPUサーバはコンソールの Services > Compute > Server メニューから作成できます。詳しい作成方法は、サーバ作成をご参照ください。
サーバ管理
GPUサーバ管理と設定変更方法は、一般サーバ管理と設定変更方法と同じです。詳細は、サーバ管理をご参照ください。
- GPUサーバは、同じタイプのサーバにのみスペックを変更できます。
- GPUサーバを作成した後、GPUを削除して一般サーバに移行できません。一般サーバに変更するには、サーバイメージを作成した後、サーバイメージを使用して一般サーバを新たに作成します。
- 一般サーバで作成したサーバイメージを使用して GPUサーバを作成できます。
GPUドライバ/CUDAの再インストールとアップデート
GPUサーバ使用中に以下のような場合にサーバの GPUドライバおよび CUDAを再インストールできます。
- OSカーネルバージョンが変更(アップデート)され、現 GPUドライバと互換に失敗した場合: GPUドライバのみ再インストールします。
- 使用中の旧バージョンの GPUドライバを NAVERクラウドプラットフォームで提供している最新ドライバにアップグレードする場合
- ユーザーが希望する任意のドライババージョンにアップグレードが必要な場合
- NAVERクラウドプラットフォームが基本インストールにて提供するバージョン以外のドライバインストール後に発生する問題に対しては、公式サポートを受けることが難しい場合があります。
- NAVERクラウドプラットフォームで提供しているドライバより下位バージョンでの再インストールはお勧めしません。
- NAVERクラウドプラットフォームが基本インストールにて提供するドライババージョンは、次の通りです(Windows Server 2016の場合、NVIDIAのサポート終了により R525バージョンで提供されます)。
Linux | Windows Server 2019 | Windows Server 2016 | |
---|---|---|---|
GPU Driver | 535.161.08 | 537.13 | 527.4 |
CUDA | 12.2 | 12.2 | 12.0 |
cuDNN | 8.9.7 | 8.9.7 | 8.8.0 |
使用中の OSに応じて次の案内をご参照ください。
GPUドライバの再インストール(Linux)
NAVERクラウドプラットフォームが提供するバージョンのドライバは、スクリプトにて再インストールできます。
別のバージョンを使用する場合は、手動再インストール手順に従ってください。
スクリプトによる再インストール
スクリプトにて GPUドライバを再インストールする方法は、次の通りです。
wget http://init.ncloud.com/gpu/ncp_gpu_reinstall.sh
コマンドを入力してスクリプトファイルをダウンロードします。./ncp_gpu_reinstall.sh
コマンドを入力して既存の GPUドライバを削除します。- サーバを再起動します。
./ncp_gpu_reinstall.sh
コマンドを再入力して GPUドライバを再インストールします。
手動再インストール
スクリプトによる再インストールに失敗したり、GPUドライバのバージョンを変更してインストールする方法は、次の通りです。
再インストールまたはアップグレードするバージョンのドライバファイルをダウンロードします。
- NVIDIA Driverダウンロードウェブサイトにアクセスします。
次のコマンドを入力して既存の GPUドライバを削除します。
- 例) NAVERクラウドプラットフォームで基本提供する 535.161.08バージョン
# ./NVIDIA-Linux-x86_64-535.161.08.run -s Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 535.161.08..........................................................................................................
サーバを再起動します。
次のコマンドを入力して新規の GPUドライバをインストールします。
# ./NVIDIA-Linux-x86_64-535.161.08.run -a --ui=none --no-questions --accept-license Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 535.161.08............................................................................................................................................................ Welcome to the NVIDIA Software Installer for Unix/Linux (省略) Installation of the kernel module for the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version 535.161.08) is now complete.
サーバを再起動します。
nvidia-smi
コマンドで入力して正常にインストールされたドライバのバージョンと、認識された GPUカードモデルと数を確認します。
CUDAの再インストール(Linux)
CUDAは cuDNNも一緒に再インストールしてから正常に動作します。インストールする方法は、次の通りです。
CUDA Toolkitダウンロードウェブサイトにアクセスします。
インストールしたいバージョンの CUDA Runtimeインストールファイルを選択し、ダウンロードリンクを読み取ります。
- インストールタイプは OSと依存関係のない runfile (local)を選択します。
既存 CUDAパスのシンボリックリンクを確認し、既存バージョンの実際のディレクトリパスを削除します。
- 既存の CUDA Toolkitと cuDNNが削除されます。
# ll /usr/local/cuda # lrwxrwxrwx 1 root root 21 Apr 16 15:42 /usr/local/cuda -> /usr/local/cuda-12.2/ # rm -rf /usr/local/cuda-12.2
次のコマンドを入力して CUDA Toolkitを再インストールします。
- 例) NAVERクラウドプラットフォームで基本提供する12.2バージョン
# ./cuda_12.2.2_535.104.05_linux.run --toolkit --toolkitpath=/usr/local/cuda-12.2 --samples --samplespath=/usr/local/cuda-12.2/samples --silent
再インストールされた CUDAのバージョンを確認します。
# nvcc --version
cuDNNダウンロードウェブサイトにアクセスし、ダウンロードリンクを読み取ります。
読み取ったリンクを介して cuDNNをダウンロードします。
cuDNNは、別途のインストール管理者なく、CUDAがインストールされたディレクトリに圧縮を展開する形でインストールされます。次を参照してインストールしてください。
- 例) NAVERクラウドプラットフォームで基本提供する 8.9.7バージョン
# cd /root # tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz # mv cudnn-linux-x86_64-8.9.7.29_cuda12-archive cuda # cp cuda/include/cudnn* /usr/local/cuda/include # cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 # chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
インストールされた cuDNNのバージョンを確認します。
- cuDNN 8.x基準の確認方法
# cat /usr/local/cuda/include/cudnn_version.h | grep -A2 MAJOR #define CUDNN_MAJOR 8 #define CUDNN_MINOR 9 #define CUDNN_PATCHLEVEL 7
GPUドライバの再インストール(Windows)
GPUドライバはスクリプトを実行して自動で再インストールできます。
もし自動再インストールに失敗した場合、手動での再インストールもできます。
自動再インストール
スクリプトファイルをダウンロードおよび実行して GPUドライバを自動で再インストールする方法は、次の通りです。
- 次のコマンドを入力してスクリプトファイルをダウンロードします。
Start-BitsTransfer -Source "http://init.ncloud.com/win_gpu/install_gpu.exe" -Destination "c:\install_gpu.exe"
- install_gpu.exeファイルを実行します。
- Nvidia GPU driverインストールのポップアップが表示され、インストールの時間は約10~15分かかります。
- インストール完了のポップアップが表示されたら、サーバを再起動します。
run - devmgmt.msc
コマンドを入力してデバイス管理者コンソールを開きます。- デバイス管理者コンソールで Display Adapters 下位の NVIDIAグラフィックボードをダブルクリックします。
- プロパティポップアップの [Driver] タブでドライバのバージョンを確認します。
- cmdウィンドウを開き、
cd C:\Program Files\NVIDIA Corporation\NVSMI
を入力して位置を移動した後、nvidia-smi
を入力します。- 認識されたグラフィックボードデバイスを確認できます。
手動再インストール
スクリプトを利用した自動再インストールができない場合、手動で GPUドライバを再インストールする方法は、次の通りです。
- GPUドライバのダウンロードウェブサイトで再インストールまたはアップグレードするバージョンのドライバファイルをダウンロードします。
- ダウンロードした GPUドライバの exeファイルを実行してインストールします。
- インストールポップアップの案内に従って行います。
- ソフトウェアサービス利用約款に同意してから使用できます。
- インストールオプションは Express を選択します。
- サーバを再起動します。
run - devmgmt.msc
コマンドを入力してデバイス管理者コンソールを開きます。- デバイス管理者コンソールで Display Adapters 下位の NVIDIAグラフィックボードをダブルクリックします。
- プロパティポップアップの [Driver] タブでドライバのバージョンを確認します。
CUDAの再インストール(Windows)
CUDAは cuDNNも一緒に再インストールしてから正常に動作します。インストールする方法は、次の通りです。
CUDA Toolkitダウンロードウェブサイトにアクセスします。
プラットフォームを設定した後、リンクをクリックして exeファイルをダウンロードします。
ダウンロードした CUDA exeファイルを実行してインストールします。
- インストールポップアップの案内に従って行います。
- ソフトウェアサービス利用約款に同意してから使用できます。
- インストールオプションは Express を選択します。
cuDNNダウンロードウェブサイトにアクセスしてログインした後、希望するバージョンの cuDNNファイルをダウンロードします。
cuDNNは会員のみダウンロードできます。アカウントをお持ちでない場合、会員登録後にログインしてください。
ダウンロードして zipファイルを圧縮展開し、内部の bin、include、libフォルダを CUDA 11.2.2バージョンのインストールパスにある同じ名前のフォルダに置換します。
cmdウィンドウを開き、
cd C:\Program Files\NVIDIA Corporation\NVSMI
を入力して位置を移動した後、nvidia-smi
を入力します。- 認識されたグラフィックボードデバイスを確認できます。
nvidia-smi
コマンドを実行すると出力される情報は、次の通りです。
項目 | 説明 |
---|---|
Driver Version | インストールされたドライバのバージョン |
CUDA Version | ドライバがサポートする CUDA APIバージョン |
Name | GPUモデル名 |
Temp | GPUコアの温度 |
Perf | GPUの Performance State
|
Pwr:Usage/Cap | 現在 GPUが使用している電力量 |
Memory-Usage | GPUのメモリ使用量(現在の使用量/GPUメモリ容量) |
Volatile GPU-Util | GPU使用率 |
Uncorr. ECC | Uncorrectable ECC(Error Correction Code)エラーの発生回数 |
MIG M. | MIG(Multi Instance GPU) Modeステータス
|
Processes | 現在 GPUを使用しているプロセス情報
|
NTKを通じた診断データの収集/伝達
Ncloud Tool Kit(NTK)を通じて GPU VMの NVIDIAデバッグログを収集して伝達できます。
デバッグログの収集と伝達プロセスは、次の通りです。
1. NTK実行
Linuxサーバで NTKを実行する方法は、次の通りです。
cd /usr/local/etc
コマンドを入力します。- NTKのあるパスに遷移します。
tar zxvf ntk.tar.gz
コマンドを入力します。- NTKファイルの圧縮が展開されます。
- ntk.tar.gzファイルがないか、このファイルを最新バージョンに置き換えるには、
wget -P /usr/local/etc http://init.ncloud.com/server/ntk/linux/xen/ntk.tar.gz
を入力してファイルをダウンロードします。
/usr/local/etc/ntk/ntk
コマンドを順に入力して NTKを実行します。
2. GPUデバックログの収集
NTKで GPU関連のデバッグログを収集する方法は、次の通りです。
NTKメイン画面で、E EXECUTE - << Run System Apps >>を選択します。
G GPU DEBUG COLLECTING - FOR LOG COLLECT >>を選択します。
ログ収集スクリプトを実行するために、 Yes を選択します。
ログ収集完了メッセージとログファイル保存パスが出力されたら、内容を確認した後に Ok を選択します。
NAVERクラウドのテクニカルサポートセンターへのログファイル送信有無を選択します。
- 転送を希望する場合は Yes を選択します。ファイル送信がすぐに開始されます。送信が完了すると、成功メッセージとユーザーがログをダウンロードできる短縮 URLが表示されます。
- 送信を希望しない場合は No を選択して終了します。
作成されたログの送信
既に作成されたログファイルを NAVERクラウドのテクニカルサポートセンターに送信する方法は、次の通りです。
ネットワークの不具合により NAVERクラウドのテクニカルサポートセンターにログファイルが正常に送信されない場合は、VMに保存されているログファイルを添付して転送してください。
- ログファイルの保存パス: /usr/local/etc/ntk/logs/gpu_get_log
NTKメイン画面で、V VIEW - << View & Upload Logs >>を選択します。
G - GPU DEBUG FILESを選択します。
作成されたログファイルのリストを確認した後、NAVERクラウドのテクニカルサポートセンターに送信するログファイルを選択します。
Yes を選択します。
- ファイル送信がすぐに開始されます。送信が完了すると、成功メッセージとユーザーがログをダウンロードできる短縮 URLが表示されます。
GPUデバッグログファイルの種類
NTKを通じて作成される GPUログファイルは、次の通りです。
ログファイル名 | 使用コマンド | ロール |
---|---|---|
date.log | date | ログ作成日時を表示 |
dmesg-xid.log | dmesg grep -i xid | xidが含まれたカーネルメッセージを表示 |
dmesg.log | dmesg | カーネルメッセージを表示 |
free.log | free -m | MB単位でメモリ使用量を表示 |
last.log | last | ログインと再起動ログを表示 |
ps.log | ps auxf | プロセスステータスを確認 |
top.log | top -b -n 1 | top(batchモードで1回)、システム情報を表示 |
uptime.log | uptime | uptime結果を表示 |
nvidia-bug-report.log.gz | cell | nvidia-bug-report.shスクリプトを実行 |