SQUIDのGPUノードでPytorchを使用したい
ご自身でインストールすることで、利用可能です。手順は以下のとおりです。
python venvを使用する
インストール手順
1 2 3 4 5 6 7 8 9 10 11 12 |
# Python+GPUのEnvironmental modulesを設定する module load BasePy module --force switch python3/3.6 python3/3.6.GPU module load BaseGPU module load cudnn/8.2.0.53 #Pytorchをインストールする仮想環境 test-envを作成し、Activateする python3 -m venv /sqfs/work/【グループ名】/【ユーザ名】/test-env/ source /sqfs/work/【グループ名】/【ユーザ名】/test-env/bin/activate # SQUIDのGPUノード(A100)に対応するCUDA11.1 + Pytorchをインストール pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html |
利用手順(ジョブスクリプト例)
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash #PBS -q SQUID #PBS --group=(グループ名) #PBS -l elapstim_req=1:00:00,gpunum_job=8 cd $PBS_O_WORKDIR module load BasePy module --force switch python3/3.6 python3/3.6.GPU module load BaseGPU module load cudnn/8.2.0.53 source /sqfs/work/【グループ名】/【ユーザ名】/test-env/bin/activate python test.py |
mini-forgeを使用する
まず以下のページを参考にminiforgeをインストールしてください。
次に、以下を参考にPytorchをインストールしてください
1 2 3 4 5 6 7 8 9 10 |
# miniforge仮想環境の作成準備 conda config --add envs_dirs /sqfs/work/(グループ名)/(利用者番号)/conda_env conda config --add pkgs_dirs /sqfs/work/(グループ名)/(利用者番号)/conda_pkg #Pytorchをインストールする仮想環境 test-envを作成し、Activateする conda create --name test-env python=3.8 conda activate test-env # SQUIDのGPUノード(A100)に対応するCUDA11.1 + Pytorchをインストール conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge |
1ノードでの利用手順(ジョブスクリプト例)
1 2 3 4 5 6 7 |
#!/bin/bash #PBS -q SQUID #PBS --group=(グループ名) #PBS -l elapstim_req=1:00:00,gpunum_job=8 cd $PBS_O_WORKDIR conda activate test-env python test.py |
2ノードでの利用手順(ジョブスクリプト例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#!/bin/bash #PBS -q SQUID #PBS --group=(グループ名) #PBS -b 2 #PBS -l gpunum_job=8 #PBS -l elapstim_req=01:00:00 cd $PBS_O_WORKDIR source ~/.bashrc conda activate test-env echo "===================" MASTER_NODE=`head -1 ${PBS_NODEFILE}` USE_PORT=12321 HOSTNAME=`hostname -s` echo "-------------------" echo "HOSTNAME =[${HOSTNAME}] MASTER_NODE=[${MASTER_NODE}] USE_PORT=[${USE_PORT}]" echo "===================" python -m torch.distributed.launch --nnodes=2 --nproc-per-node=8 --rdzv-id=100 --rdzv-backend=c10d --rdzv-endpoint=${MASTER_NODE}:${USE_PORT} test.py |