以下の表に示すpython を利用することができます。 いずれもOSに付属するパッケージとして提供されているため、モジュールファイルによる環境設定は不要です。
バージョン | モジュールファイル名 | システムA | システムB/C | システムG | クラウドシステム | 備考 |
---|---|---|---|---|---|---|
2.7 | none | + | + | + | + | コマンド名: python2.7, pip2.7 |
3.6 | none | + | + | + | + | コマンド名: python3.6, pip3.6 |
3.8 | none | + | + | + | + | コマンド名: python3.8, pip3.8 |
3.11 | none | + | + | + | + | コマンド名: python3.11, pip3.11 |
+ : すべてのユーザが利用可能
- : 利用不可
標準でインストールされているライブラリは pip コマンドで確認できます。 パッケージの追加が必要な場合は pipコマンドでご自身のHOMEディレクトリ等に追加インストールが可能です。
## python3.8 環境のインストール済みパッケージ一覧を表示する場合
$ pip3.8 list
Package Version
---------------------------- ----------
absl-py 1.3.0
asgiref 3.6.0
astunparse 1.6.3
...
以下のPythonパッケージは予め特定のpython環境にインストールしてあります。 利用するにはモジュールファイルのロードが必要です。
Python | 対象システム | 種別 | パッケージ | バージョン | ライブラリ | モジュールファイル | 補足事項 |
---|---|---|---|---|---|---|---|
python3.11 | A/B/C | CPU | TensorFlow | 2.15.0 | MKL 2023.2 | tensorflow/2.15.0.py311_intel-2023.2 | Intel Extension for TensorFlow |
python3.11 | A/B/C | CPU | TensorFlow | 2.14.0 | MKL 2023.2 | tensorflow/2.14.0.py311_intel-2023.2 | Intel Optimized AVX512版 |
python3.11 | A/B/C | CPU | PyTorch | 2.2.0 | MKL 2023.2 | pytorch/2.2.0.py311_intel-2023.2 | Intel Optimized AVX512版 |
python3.11 | G | GPU | PyTorch | 2.2.0 | CUDA 12.1 | pytorch/2.2.0.py311_cuda-12.1 | GPU版 |
python3.8 | A/B/C | CPU | TensorFlow | 2.11.0 | MKL 2022.3 | tensorflow/2.11.0.py38_intel-2022.3 | Intel Optimized AVX512版 |
python3.8 | A/B/C | CPU | MXNet | 1.6.0 | MKL 2022.3 | mxnet/1.6.0.py38_intel-2022.3 | MKL対応版 |
python3.8 | A/B/C | CPU | PyTorch | 2.0.1 | MKL 2022.3 | pytorch/2.0.1.py38_intel-2022.3 | intel extension for pytorch, Intel oneCCL Bindings for Pytorch |
python3.8 | A/B/C | CPU | PyTorch | 1.13.1 | MKL 2022.3 | pytorch/1.13.1.py38_intel-2022.3 | intel extension for pytorch, Intel oneCCL Bindings for Pytorch |
python3.8 | G | GPU | TensorFlow | 2.11.0 | CUDA 11.2 | tensorflow/2.11.0.py38_cuda-11.2 | GPU版 TensorRT利用可 |
python3.8 | G | GPU | MXNet | 1.9.1 | CUDA 11.7 | mxnet/1.9.1.py38_cuda-11.7 | GPU版 |
python3.8 | G | GPU | PyTorch | 1.13.1 | CUDA 11.7 | pytorch/1.13.1.py38_cuda-11.7 | GPU版 |
システムA/B/C 向けの pytorch は、Intel Extension for Pytorch は Intel oneCCL Bindings for Pytorch を利用します。 以下にサンプルプログラムと、ジョブスクリプトを例を記載していますので、参考にしてください。 各ソフトウェアの使い方の詳細は公式マニュアルをご参照ください。
#!/usr/bin/python3.8
# Reference source
# https://github.com/intel/torch-ccl#usage
import os
import torch.nn.parallel
import torch.distributed as dist
import oneccl_bindings_for_pytorch
import intel_extension_for_pytorch
os.environ['MASTER_ADDR'] = str(os.environ.get('TORCH_MASTER_ADDR', '127.0.0.1'))
os.environ['MASTER_PORT'] = str(os.environ.get('TORCH_MASTER_PORT', '29500'))
os.environ['RANK'] = str(os.environ.get('PMI_RANK', 0))
os.environ['WORLD_SIZE'] = str(os.environ.get('PMI_SIZE', 1))
backend = 'ccl'
dist.init_process_group(backend)
my_rank = dist.get_rank()
my_size = dist.get_world_size()
print("my rank = %d my size = %d" % (my_rank, my_size))
x = torch.ones([2, 2])
y = torch.ones([4, 4])
with torch.autograd.profiler.profile(record_shapes=True) as prof:
for _ in range(10):
dist.all_reduce(x)
dist.all_reduce(y)
dist.barrier()
print(prof.key_averages(group_by_input_shape=True).table(sort_by="self_cpu_time_total"))
#!/bin/bash
#============ SBATCH Directives =======
#SBATCH -p gr10001b
#SBATCH -t 1:0:0
#SBATCH --rsc p=4:t=1:c=1
#SBATCH -o %x.%A.out
#============ Shell Script ============
. /usr/share/Modules/init/bash
module load pytorch/2.0.1.py38_intel-2022.3
module list
set -x
export CCL_WORKER_COUNT=${OMP_NUM_THREADS}
export CCL_WORKER_AFFINITY=$(numactl -s |grep physcpubind: | sed -e 's/physcpubind: //' -e 's/ *$//' -e 's/ /,/g')
export TORCH_MASTER_ADDR=${SLURMD_NODENAME}-ib0
srun python3.8 -u profiling.py
パッケージの追加が必要な場合は pipコマンドでご自身のHOMEディレクトリ等に追加インストールが可能です.
flaskを追加する例:
pip install --user flask
Pythonのパッケージ群が利用可能なminiforge をインストールしています。詳細は Miniforge をご覧ください.