GPU Cluster Dev Environment

Python環境構築とプログラム実行のながれ

HPCシステムズ株式会社 HPC事業部

pyenvのインストール

• 公式サイト記載の手順
https://github.com/pyenv/pyenv• 再ログインして、
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.bash_profile
$ echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”‘ >> ~/.bash_profile
$ echo -e ‘if command -v pyenv 1>/dev/null 2>&1; then¥n eval “$(pyenv init -)”¥nfi’ >> ~/.bash_profile
$ pyenv -v
pyenv 1.2.18-7-gae4d489

Anacondaのインストール (1/2)

• インストール可能Anacondaバージョンの表示
$ pyenv install –list | grep anaconda
anaconda-1.4.0
(中略)
anaconda2-5.3.1
anaconda2-2018.12
anaconda2-2019.03
anaconda2-2019.07
(中略)
anaconda3-5.3.1
anaconda3-2018.12
anaconda3-2019.03
anaconda3-2019.07
anaconda3-2019.10
anaconda3-2020.02

Anacondaのインストール (2/2)

• 指定バージョンのAnacondaのインストール• pyenvで使用するPythonバージョンの切り替え

$ export http_proxy=http://xxxxxx:xxxx/
$ export https_proxy=http://xxxxxx:xxxx/
$ pyenv install anaconda3-2020.11
$ pyenv rehash
$ pyenv versions
* system (set by /home/dgxadmin/.pyenv/version)
anaconda3-5.3.1$ pyenv global anaconda3-2020.11
$ pyenv versions
system
* anaconda3-2020.11 (set by /home/dgxadmin/.pyenv/version)
$ python –V
Python 3.8.5

Anacondaの使用

• condaにPATHを通して使う

$ echo ‘export PATH=”${PYENV_ROOT}/versions/anaconda3-2020.11/
bin:${PATH}”‘ >> ~/.bash_profile
$ source ~/.bash_profile
$ conda update conda
$ conda install simplejson
$ conda remove simplejson

SANDBOX Manual

1. はじめに 

 
Beyond AI推進機構では、AIモデル構築のスピードUP、研究推進を効率化を目的に各研究プロ ジェクト共通のサーバー環境を提供しています。 2021年4月1日に実施された説明会の動画および利用規約の確認の上ご利用ください。
 
1.1 アカウント申請 
 
1. 研究リーダーの承認の後、申請フォームにて申請を行ってください。
 
2. 以下の承認フローが完了次第アカウント作成処理が開始されます。
 
 
3. アカウントの作成が完了すると以下のようなメールが届きますので指示に従いGPUサー バのパスワード変更まで進めてください。 セキュリティの都合上、GPUサーバーはインターネットから隔離されています。踏み台 サーバーへまずログインを行った後、GPUサーバへログインを行います。 踏み台サーバーまでのログイン方法はアカウント申請時に作成した公開鍵を使い、こち らを参考に実施ください。
 
https://www.issp.u-tokyo.ac.jp/supercom/for-users/ssh_publickey 踏み台サーバ経由でGPUサーバへログイン後、メール記載されたルールに従いパス ワードを変更してください。 ※パスワード変更はyppasswdコマンドになりますのでご注意ください。
 
件名:Beyond AI Sandbox ユーザー登録完了のご連絡 本文:
1.2 GPUサーバー利用マニュアル (初期設定)
 
● プロキシ・トンネル設定 パスワード変更が完了したら、以下の参照にシェルスクリプト(Bashの場合. bashrcなど)にインターネットへ繋げるためのプロキシ設定を実施ください。トンネル設定 は必要の応じて実施ください。 
 
ネットワーク構成
セキュリティの都合上、それぞれのGPUサーバーはインターネットから隔離されています。GPUサーバーを利⽤するためにはまず踏み台サーバーにログインする必要があります。
また、GPUサーバーから直接インターネットにアクセスすることも禁⽌されています。 apt install 、 git clone 、 docker pull 、 wget など⾏うためにはプロキシサーバーを経由する必要があります。
GPUサーバーへログイン後、 ~/.bashrc もしくは ~/.bash_profile に以下の⾏を追加してください。
export http_proxy=http://172.28.1.200:3128/
export https_proxy=http://172.28.1.200:3128/ 

接続⼿順

トンネルを使わない場合は単純に⼆度 ssh コマンドを叩きます。ここではローカルの ~/.ssh/ ディレクトリ以下に鍵ファイルが置かれていることを前提にしています。

# 1st step: Connect from local 
$ ssh <username>@<server_ip> -i ~/.ssh/<ssh-key-name> # 叩
# 2nd step:Connect to GPU Server
$ ssh <username>@<server ip> 

2. 利用について 

 

2.1 Jupyterlab設定 

踏み台サーバー設定マニュアルに記載されているとおり、ポートフォワーディングの設定をおこな うとローカル環境でサーバー上に起動しているjupyterlabへアクセスが可能です。 同封資料:[GPUサーバー利用マニュアル](SSH_step.pdf)

 

2.2 Slurmについて 

2.2.1 Slurmとは

Slurm Workload Manager(旧称:Simple Linux Utility for Resource Management、SLURM)ま たはSlurmは、LinuxおよびUnix系のカーネルのためのフリーでオープンソースなジョブスケ ジューラーである。

Wikipedia https://ja.wikipedia.org/wiki/Slurm_Workload_Manager より

2.2.2 公式ドキュメンテーション

https://slurm.schedmd.com/documentation.html

2.2.3 計算実行方法

[Slurmを用いた計算実行方法](Slurm20210325.pdf)

こちらの資料に補足する形で本資料では説明を記載します。

Slurmコマンドマニュアルやドキュメントページなどの参考情報は上記資料の最終ページに記載 があるのでそちらを参照ください。

● インストールバージョン

20.11.4

2.3 VS Codeでのリモート開発について 

初期設定のトンネル設定まで完了後実施してください。

ローカル環境にインストールしたVS Codeの画面左「Extension」画面より「Remote Development」を検索し拡張機能をインストールします。

実際のリモート環境への接続、VS Codeでの使い方はこちらを参考ください。 https://code.visualstudio.com/docs/remote/ssh-tutorial

2.4 JupyterHub利用について 

当環境では、JupyterHubの利用が可能です。

2.4.1 Jupyter Hubにういて

JupyterHub is the best way to serve Jupyter notebook for multiple users. It can be used in a class of students, a corporate data science group or scientific research group. It is a multi-user Hub that spawns, manages, and proxies multiple instances of the single-user Jupyter notebook server. 

https://jupyterhub.readthedocs.io/en/stable/

2.4.2 ログイン

https://jupyter.beyondai.jp/

こちらへアクセスし、あらかじめ取得したユーザーIDとパスワードを入力します。

2.4.3 利用開始

ログインが完了すると、個人用のJupyterが立ち上がります。

使い方は、個人で立ち上げるJupyterと同様です。

※ pip installまたはconda install実行後にimportでエラーが出る場合は、Kernelの再起動をお試 しください

2.5 GPU確認 

JupyterHubでもGPUの利用が可能です。

TensorFlow、PyTorchそれぞれ以下の手順にて利用可能なGPUが確認できます。

2.5.1 TensorFlowのインストール及びGPUの確認

!pip install tensorflow

import tensorflow 

from tensorflow.python.client import device_lib 

device_lib.list_local_devices() 

 

2.5.2 PyTorchのインストールおよびGPUの確認

2022年5月時点のCUDAのバージョンは11.4となります。

PyTochをインストールする場合は、こちらのバージョン(11系)のインストール方法をご確認くださ い。

!cat /usr/local/cuda-11.4/version.json 

PyTorch公式サイトでのインストールコマンド取得

https://pytorch.org/get-started/locally/

import torch 

print(torch.cuda.get_device_name()) 

print(torch.cuda.device_count()) 以上