スーパーコンピュータでサンプルプログラムを動かす(PyTorch)
2022/12/07
プログラミング本記事の内容
本記事では、スーパーコンピュータ(Wisteria)上で、Python(PyTorch)で書かれたサンプルプログラムを動かす手順を紹介する。
手順
cd /work/<プロジェクトコード>/<ユーザーID>
mkdir sample
show_module
今回はgcc/8.3.1とpython/3.8.12モジュール環境を利用する。
module load gcc/8.3.1
module load python/3.8.12
module list
Currently Loaded Modulefiles:
1) gcc/8.3.1(default) 2) python/3.8.12
モジュールを消去したい場合は"module purge"を使う。
module purge
module list
No Modulefiles Currently Loaded.
■ moduleコマンドのオプション
オプション | 内容 |
avail | 利用可能な環境の一覧を表示 |
list | 現在ロードしている環境一覧を表示 |
load | 指定した環境のロード |
unload | 指定した環境のアンロード |
switch | 環境のロードとアンロードを同時に実行 |
purge | 環境をすべてアンロード |
cd sample
python3 -mvenv venv
source venv/bin/activate
pip3 install --upgrade pip setuptools
pip3 install torch torchvision torchaudio --extra-index-url <https://download.pytorch.org/whl/cu116>
pip3 install pandas
try:
import torch
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(f'PyTorch Success!')
print(f'Device: "{device}"')
except Exception as e:
print(f"Error: {e}")
try:
import pandas
print("Pandas Success!")
except Exception as e:
print(f"Error: {e}")
#!/bin/sh
#PJM -L rscgrp=share-debug
#PJM -L gpu=1
#PJM -L elapse=0:10:00
#PJM -g <プロジェクトコード>
#PJM -j
module load gcc/8.3.1
module load python/3.8.12
source venv/bin/activate
python3 sample.py
プロジェクトコードについては各自割り当てられたものを記入する。また、ジョブクラスには"share-debug"を指定した。使用可能なジョブクラスについては以下のリンクを参照。
pjsub sample.sh
■ ジョブ管理コマンド
オプション | 内容 |
pjsub | ジョブの投入 |
pjdel | ジョブの削除 |
pjstat | ジョブの状態 |
pjsubなどのコマンドは富士通独自のもので、使用するスーパーコンピュータによって異なる。
Inportエラーが発生しておらず、GPU(Cuda)の読み込みができていることを確認する。
PyTorch Success!
Device: "cuda:0"
Pandas Success!