スーパーコンピュータでサンプルプログラムを動かす(cupy)
2023/02/25
プログラミング本記事の内容
本記事では、スーパーコンピュータ(Wisteria)上で、Python(cupy)で書かれたサンプルプログラムを動かす手順を紹介する。
手順
cd /work/<プロジェクトコード>/<ユーザーID>
mkdir sampleshow_module今回はCUDA Toolkitモジュール環境を利用する。
module load cuda/11.4module list 1) cuda/11.4(default)モジュールを消去したい場合は"module purge"を使う。
module purge
module listNo Modulefiles Currently Loaded.■ moduleコマンドのオプション
| オプション | 内容 |
| avail | 利用可能な環境の一覧を表示 |
| list | 現在ロードしている環境一覧を表示 |
| load | 指定した環境のロード |
| unload | 指定した環境のアンロード |
| switch | 環境のロードとアンロードを同時に実行 |
| purge | 環境をすべてアンロード |
cd sample
python3 -mvenv venv
source venv/bin/activatepip3 install --upgrade pip setuptools
pip3 install --no-cache-dir cupy-cuda114
pip3 install pandastry:
import cupy as cp
a = cp.random.rand(100,100)
cp.dot(a,a)
print(f'Cupy Success!')
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
export HOME=/work/gc20/c20364/cupy
module load cuda/11.4
source venv/bin/activate
python3 sample.py
プロジェクトコードについては各自割り当てられたものを記入する。また、ジョブクラスには"share-debug"を指定した。使用可能なジョブクラスについては以下のリンクを参照。
pjsub sample.sh■ ジョブ管理コマンド
| オプション | 内容 |
| pjsub | ジョブの投入 |
| pjdel | ジョブの削除 |
| pjstat | ジョブの状態 |
pjsubなどのコマンドは富士通独自のもので、使用するスーパーコンピュータによって異なる。
Inportエラーが発生しておらず、GPU(Cuda)の読み込みができていることを確認する。
Cupy Success!
Pandas Success!