Python

本システムでは、下記のスクリプトを実行することでホームディレクトリにpyenvをインストールすることができます。
pyenvではpythonのバージョン管理が可能です。詳細は下記をご確認ください。

下記のコマンドを実行すると、ホームディレクトリにpyenvがインストールされます。
superとgpuでそれぞれ別の環境が構築されます。

$ bash /work/app/pyenv/pyenv-setup-20210617.bash


インストールスクリプト実行後にカレントディレクトリにbash_envというファイルが生成されます。
pyenvをデフォルトで読み込む場合は下記のコマンドで~/.bash_profile に内容をコピーします。

$ cat bash_env >> ~/.bash_profile


インストール後にフロントエンドノードから一度ログアウトし、再度ログインしてください。

Pythonのインストール

$ pyenv --version
pyenv 1.2.8-5-gec9fb549 ←バージョンは異なる場合があります。
$ pyenv install --list ←利用可能なPythonのバージョンを表示 ・・・・
$ pyenv install 3.7.8 ←Python3.7.8をインストールする場合


Pythonのバージョン切り替え

$ pyenv versions ←インストールされているバージョンの確認
* system (set by /home/user01/.pyenv/version)
  3.7.8
$ pyenv global 3.7.8 ←Python3.7.8に切り替え
$ python --version


pyenvでインストールしたPythonでは、pipを用いてパッケージの追加も可能です。
より詳細な使用方法については、pyenv のドキュメント等をご確認ください。

Simple Python version management
https://github.com/pyenv/pyenv

負荷の高いPythonプログラムは、フロントエンドノードではなく計算ノード上で実行してください

ジョブスクリプト例

大規模並列計算サーバ

#!/bin/sh
#PBS -l select=1
#PBS -q P_016
#PBS -N sample
DIRNAME=`basename $PBS_O_WORKDIR`
WORKDIR=/work/$USER/$PBS_JOBID 
mkdir -p $WORKDIR
cp -raf $PBS_O_WORKDIR $WORKDIR 
cd $WORKDIR/$DIRNAME

aprun python program.py

cd; if cp -raf $WORKDIR/$DIRNAME $PBS_O_WORKDIR/.. ; then rm -rf $WORKDIR; fi


アクセラレータサーバ

・インタラクティブモードでの実行例

userA@gpu2:~> qsub -I -q CA_001
qsub: waiting for job 70568.gpu1 to start
qsub: job 70568.gpu1 ready

-bash-4.2$ python
Python 3.7.8 (default, Mar 25 2021, 09:54:46) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>


ジョブとして投入して実行することも可能です。
・ジョブスクリプト例

#!/bin/sh
#PBS -l select=1
#PBS -q CA_001
#PBS -N sample
DIRNAME=`basename $PBS_O_WORKDIR`
WORKDIR=/work/$USER/$PBS_JOBID
mkdir -p $WORKDIR
cp -raf $PBS_O_WORKDIR $WORKDIR
cd $WORKDIR/$DIRNAME

python program.py

cd; if cp -raf $WORKDIR/$DIRNAME $PBS_O_WORKDIR/.. ; then rm -rf $WORKDIR; fi
  • application/python.txt
  • 最終更新: 2021/06/17 23:49
  • by ccms