Python
本システムでは、下記のスクリプトを実行することでホームディレクトリにpyenvをインストールすることができます。
pyenvではpythonのバージョン管理が可能です。詳細は下記をご確認ください。
pyenv環境の構築
下記のコマンドを実行すると、ホームディレクトリにpyenvがインストールされます。
superとgpuでそれぞれ別の環境が構築されます。
$ bash /work/app/pyenv/pyenv-setup-20210617.bash
インストールスクリプト実行後にカレントディレクトリにbash_envというファイルが生成されます。
pyenvをデフォルトで読み込む場合は下記のコマンドで~/.bash_profile に内容をコピーします。
$ cat bash_env >> ~/.bash_profile
インストール後にフロントエンドノードから一度ログアウトし、再度ログインしてください。
pyenvの基本的な使い方
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の実行方法
負荷の高い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