Skip to content

PyTorch DNNL_aarch64 build manual for FUJITSU Software Compiler Package (PyTorch v1.7.0) JP

Kazutoshi, Akao edited this page Sep 6, 2021 · 8 revisions

富士通 Supercomputer PRIMEHPC FX1000/FX700 上の PyTorch 構築手順

目次

  1. はじめに
  2. 環境と前提条件
  3. インストール手順
  4. トラブルシューティング
  5. ソフトウェア版数一覧

1. はじめに

本書は富士通Supercomputer PRIMEHPC FX1000, FX700 上に PyTorch をインストールするための手順書です。
また、サンプルとしていくつかの重要モデルを FX1000, FX700 用に最適化したものをインストール、実行するための手順も提供します。

PyTorch のビルド手順は、 インターネットに直接 (またはproxy経由で) アクセスできるシステムにも、 インターネットにアクセスできないシステム上にもインストールできるようになっています。 本書では、前者を「オンラインインストール」、後者を「オフラインインストール」と呼びます。

オフラインインストールでは、 予めインターネットに接続されているシステム(以下「ダウンロード用システム」)で必要なファイル一式をダウンロードしておき、 それをインストール対象システム(以下「インストール対象システム」)に転送してビルドします。

なお、PyTorch の構築手順では、オンラインインストール、オフラインインストールどちらの場合も、 まずすべてのファイルをダウンロードして、それからビルドを行います。 両者の違いはダウンロードしたファイル群を転送するかどうか、だけです。

1.1. 用語について

本書では以下の用語・略語を使用します。

用語・略語 意味
オンラインインストール インターネットに直接アクセスできるシステムにPyTorchをインストールすること
オフラインインストール インターネットにアクセスできないシステムにPyTorchをインストールすること
インストール対象システム PyTorchをインストールする対象システム
ダウンロード用システム オフラインインストール用に、必要なファイルを予めダウンロードするシステム
TCS FX1000のジョブ実行スケジューラやコンパイラ・ライブラリ環境 (Technical Computing Suite)
CP FX700のコンパイラ・ライブラリ環境 (Compiler Package)

2. 環境と前提条件

2.1. ダウンロード用システム

  • OSはUNIXまたはLinux

  • bash, python3, wget, git, unzip, tar, curl が実行可能なこと

  • インストール対象システムへアクセス可能であること

  • ファイルシステムに十分な空容量があること ダウンロードデータ量は以下の通りです。(小数点1位で切り上げ)
    ビルドには別途20GB必要です

    モジュール ダウンロード量 備考
    PyTorch本体(github.com) 0.6GB
    各種モジュール 2.2GB
    ResNet ---
    OpenNMT 9.5GB 一時ファイル1.3GB を含む
    BERT 3.1GB 一時ファイル0.4GB を含む
    Mask RCNN 39.1GB 一時ファイル19.0GB を含む
    - -
    合計 54.0GB 一時ファイル20.7GB を含む

    一時ファイルは各モジュールのダウンロードが終わると削除されます。一時的にディスク容量を消費するのでご注意ください。
    なお、ダウンロード先のディレクトリはPyTorchのソースディレクトリ配下になります。(変更できません)

2.2. インストール対象システム

  • PRIMEHPC FX1000 または FX700
  • FX700 の場合
    • RHEL 8.x または CentOS 8.x がインストールされていること
    • FCC で環境を構築するなら Compiler Package V10L20がインストールされていること
  • 以下のパッケージ、コマンドがインストール済であること
    make gcc cmake libffi-devel gcc-gfortran numactl git patch unzip tk tcsh tcl lsof python3 pciutils
  • 空き容量75GB以上のストレージがあること

なお、NFS上でのビルド、実行はNFSサーバの性能や設定により予期せぬトラブルが起こることがありますのでご注意ください。
ローカルに接続されたストレージか、十分に高速なネットワークストレージを使うことをお薦めします。

2.3. インストール後のディレクトリ構成

インストール後のディレクトリ構成は以下のようになります。 PREFIX はこの位置から変更できないので、構築環境は PyTorch のソース配下に置かれることになるのでご注意ください。

  PYTORCH_TOP (git clone してきた PyTorch ソースのトップディレクトリ, 注: これはenv.srcでは指定しない)
    +- scripts
        +- fujitsu  = PREFIX = PYTORCH_INSTALL_PATH
	    +- down = DOWNLOAD_PATH
	    +- up   = UPLOAD_PATH
	    +- VENV_NAME   (ディレクトリ名は env.src で指定する)
	    +- .local      (env.src では設定できない)
	       +- bin, lib, ...

2.4. proxy 設定について

お使いの環境が、外部アクセスにproxyを通す必要がある環境の場合、以下の環境変数を設定してください。
(user, pass, proxy_url, port はお使いの環境に合ったものに置き換えてください。)

$ export http_proxy=http://user:pass@proxy_url:port
$ export https_proxy=https://user:pass@proxy_url:port

注: curl, wget, git, pip3, は上記環境変数を認識するので、rc や .gitconfig の設定は不要です。

3. インストール手順

大まかな流れは以下のようになります。

  1. 前準備 (共通)
  2. ダウンロード
  3. ビルド

3.1. 前準備 (詳細)

3.1-A. ソース一式をダウンロードする

$ git clone https://github.com/fujitsu/pytorch.git
$ cd pytorch
$ git checkout -b fujitsu_v1.7.0_for_a64fx origin/fujitsu_v1.7.0_for_a64fx
$ cd scripts/fujitsu             # PREFIX

以降の例では /home/user/pytorch/scripts/fujitsu を PREFIX として例示してあります。

3.1-B. env.srcを編集する

env.src は $PREFIX にあります。
設定するのは以下の2つです。

変数名 意味 補足
PREFIX PyTorch ソース配下の scripts/fujitsu ディレクトリを絶対パスで指定します。 pwd は使わないでください。(いくつかの異なるディレクトリに置いてあるスクリプトが読み込むため、pwd を使うと誤動作します)
TCSDS_PATH TCS, CP のベースディレクトリ名 ベースディレクトリ: bin, lib などを含むディレクトリ

3.2. ダウンロード手順 (詳細)

オンラインインストール、オフラインインストールどちらの場合も、 まずすべてのファイルをダウンロードしてください。

3.2-A. PyTorch本体のビルドに必要なファイルをダウンロードする

scripts ディレクトリにある、checkout.sh を実行してください。

$ pwd
/home/user/pytorch/scripts/fujitsu	# $PREFIX
$ bash checkout.sh                      # ダウンロード量 2.2GB

3.2-B. (オプショナル) サンプルモデル構築に必要なファイルをダウンロードする

サンプルモデルは opennmt_build_pack, bert_build_pack, mask_r_cnn_build_pack 配下にあります。各ディレクトリに移動して スクリプトを実行してください。

各スクリプトはダウンロード中に一時データを作成します。 一時データはスクリプトが終了すると削除されますが、 一時的にディスクを消費するので、 ダウンロードするシステムのディスク空き容量には注意してください。

$ pwd
/home/user/pytorch/scripts/fujitsu	# $PREFIX

$ cd opennmt_build_pack
$ bash dataset.sh                       # ダウンロード量 6.8GB (一時データ1.2GB含む)
$ bash checkout.sh                      # ダウンロード量 2.7GB (一時データ0.3GB含む)
$ cd ..

$ cd bert_build_pack
$ bash checkout.sh                      # ダウンロード量 1.8GB (一時データ0.3GB含む)
$ cd transformers
$ ./prepare.sh                          # ダウンロード量 1.3GB (一時データ0.2GB含む)
$ cd ..

$ cd mask_r_cnn_build_pack
$ bash checkout.sh                      # ダウンロード量 0.2GB (一時データ0.003GB含む)
$ bash dataset.sh                       # ダウンロード量 38.9GB (一時データ21GB含む)
$ cd ..

3.2-C. インストール対象システムに転送する (オフラインインストールのみ)

この節はオフラインインストールする場合の追加手順です。 インターネット接続システムにインストールする場合は、 この節は飛ばして3.3に進んでください。

PyTorch ソースのトップディレクトリ以下、すべてのファイルを転送します。

具体的な方法は各システム構成により異なるので記載しません。
scp, ftp, 共有ディレクトリ使用、など、システムに応じた方法で転送してください。

3.3. インストール手順 (詳細)

3.3-A. PyTorch本体をビルドする

submit_build.sh を実行してください。 注意: submit_build.sh は環境変数の設定が入っていて、それは実際にビルドを行うスクリプトが参照します。 数字で始まるスクリプトを直接実行しても正しく構築できません。

以下の例は対話型シェルでインストールする場合の例です。コメントの後ろにおおよその所要時間を示してあります (FX700 2.0GHz 48core の実測結果)。
ジョブ制御システムを使用する場合は、お使いのジョブ制御システムの構文に従いスクリプトを修正してジョブを投入してください。

$ pwd
/home/user/pytorch/scripts/fujitsu       # $PREFIX

$ bash submit_build.sh                   # FX700で約70分

正しくビルドできたかどうかの確認に、resnet50 を実行してください。
以下に実行確認方法を示します。
実行確認は学習1ステップの実行速度で行いますが、 深層学習モデルの実行速度は10~20%のくらいの変動があるため、 本書に記載した実行速度を目安に、おおよそその範囲にあれば正しく構築できていると判断できます。
また、サンプルモデルの設定は必ずしも最速になっているわけではないことに留意してください。

$ pwd
/home/user/pytorch/scripts/fujitsu      # $PREFIX

$ bash submit_train.sh                  # 動作確認 (1ノード, 1プロセス、48コア, ダミーデータ) (2分)
$ bash submit_val.sh                    # 動作確認 (1ノード, 1プロセス、48コア, ダミーデータ) (4分)
$ bash submit_train_multi.sh            # 動作確認 (1ノード, 1プロセス、12コア/プロセス, ダミーデータ) (4分)
$ bash submit_val_multi.sh              # 動作確認 (1ノード, 4プロセス、12コア/プロセス, ダミーデータ) (3分)

submit_train.sh, submit_val.sh では1ステップの実行時間(それぞれ学習と推論)が出力されます。 以下は FX700 (2.0GHz) の submit_train.sh の出力例です。1ステップ2.5秒前後なら正常です。

$ bash submit_train.sh
>> script option: Namespace(batch=256, itr=20, lr=0.001, momentum=0.9, trace=False, type='cpu_mkltensor', weight_decay=0.0)
## Start Training
[    1] loss: 7.326 time: 2.982 s
[    2] loss: 5.110 time: 2.547 s
[    3] loss: 1.274 time: 2.546 s
[    4] loss: 0.013 time: 2.556 s
[    5] loss: 0.000 time: 2.538 s         # ダミーデータで学習させているので
[    6] loss: 0.000 time: 2.563 s         # loss 値はすぐにゼロになります
[    7] loss: 0.000 time: 2.535 s
[    8] loss: 0.000 time: 2.555 s
[    9] loss: 0.000 time: 2.545 s
  (省略)

submit_val.sh の出力フォーマットもこれと同様です。 submit_val.sh は2つのパラメータを実行します。1ステップの走行時間は、 512バッチで1.5秒前後、1024バッチで3秒前後になります。

submit_train_multi.sh, submit_val_multi.sh は4プロセスでデータ並列学習と推論を実行します。 1プロセスのテストで使用しているモデルとは別のモデルを、異なるパラメーで実行しています。 以下は FX700 (2.0GHz) の submit_train_multi.sh の出力例です。 4プロセス合計で100img/sec以上の値が出ていれば正しく構築できています。

  (省略)
Running benchmark...
Iter #0: 26.8 img/sec per CPU             # この値は、rank0 プロセスの値
Iter #1: 26.8 img/sec per CPU
Iter #2: 26.9 img/sec per CPU
Iter #3: 26.9 img/sec per CPU
Iter #4: 26.9 img/sec per CPU
Img/sec per CPU: 26.9 +-0.1
Total img/sec on 4 CPU(s): 107.4 +-0.2    # この値は4プロセスの合計値

submit_val_multi.sh は4並列で推論を行いますが、 推論の場合、各プロセスは非同期で実行を進めていくため、 実行時間の目安は提示できません。 最後まで正常に実行できれば、PyTorch は正しくビルドできています。

3.3-B. (オプショナル) サンプルモデルを構築する

サンプルモデルは opennmt_build_pack, bert_build_pack, mask_r_cnn_build_pack 配下にあります。各ディレクトリに移動して スクリプトを実行してください。

以下に構築方法と実行確認方法を示します。 実行確認は学習1ステップの実行速度で行いますが、 深層学習モデルの実行速度は10~20%のくらいの変動があるため、 本書に記載した実行速度を目安に、おおよそその範囲にあれば正しく構築できていると判断できます。 また、サンプルモデルの設定は必ずしも最速になっているわけではないことに留意してください。

OpenNMT

opennmt_build_pack 配下にあります。

https://github.com/OpenNMT/OpenNMT-py
Tag: v1.1.1 (2020/3/20)

以下の例は対話型シェルでインストールする場合の例です。コメントの後ろにおおよその所要時間を示してあります (FX700 2.0GHz 48core の実測結果)。
ジョブ制御システムを使用する場合は、お使いのジョブ制御システムの構文に従いスクリプトを修正してジョブを投入してください。

$ pwd
/home/user/pytorch/scripts/fujitsu	# $PREFIX

$ cd opennmt_build_pack
$ bash submit_build.sh                # モデル構築 (50分)

$ cd opennmt-py
$ bash submit_prepare.sh              # 学習データ準備 (30分)

FX700:
$ bash submit_opennmt_fx700.sh        # モデル実行 (2分)
FX1000:
$ pjsub submit_opennmt.sh             # モデル実行

実行結果例を示します。(以下FX700の結果。FX1000だと10%くらい速い) 最後の行が平均の1ステップ実行時間と1秒あたりの単語処理速度です。 速度変動10%程度を見込んで、この結果と同様の値が出ていれば正常に動作しています。

[2021-08-11 08:20:04,374 INFO] Step    6/   10; acc:   2.74; ppl: 2.08e+05; xent: 12.24; lr: 0.03341; 3118/3934 tok/s;     11 sec
[2021-08-11 08:20:06,169 INFO] Step    7/   10; acc:   2.35; ppl: 9.70e+05; xent: 13.79; lr: 0.03125; 3202/3968 tok/s;     13 sec
[2021-08-11 08:20:07,993 INFO] Step    8/   10; acc:   2.06; ppl: 1.67e+06; xent: 14.33; lr: 0.02946; 3248/3996 tok/s;     15 sec
[2021-08-11 08:20:09,871 INFO] Step    9/   10; acc:   1.86; ppl: 2.17e+06; xent: 14.59; lr: 0.02795; 3284/3997 tok/s;     17 sec
[2021-08-11 08:20:11,703 INFO] Step   10/   10; acc:   1.69; ppl: 2.11e+06; xent: 14.56; lr: 0.02665; 3300/3977 tok/s;     19 sec
[2021-08-11 08:20:12,141 INFO] Saving checkpoint demo-model-transformer_step_10.pt
[2021-08-11 08:20:14,018 INFO] Total Data loading time (ignore first step): 794.86847 ms
[2021-08-11 08:20:14,018 INFO] Average : 1.8770 [sec/3850batch], 3977.0139 [tok/s]

BERT

bert_build_pack 配下にあります。

https://github.com/huggingface/transformers
Tag: v3.4.0 (2020/10/20)

BERTは2種類のタスクを実行します。

以下の例は対話型シェルでインストールする場合の例です。コメントの後ろにおおよその所要時間を示してあります (FX700 2.0GHz 48core の実測結果)。
ジョブ制御システムを使用する場合は、お使いのジョブ制御システムの構文に従いスクリプトを修正してジョブを投入してください。

$ pwd
/home/user/pytorch/scripts/fujitsu	# $PREFIX

$ cd bert_build_pack
$ bash submit_build.sh                # モデル構築 (10分)

$ cd transformers

FX700:
$ bash submit_bert_lm_fx700.sh        # 1つ目のタスク実行 (6分)
$ bash submit_bert_mrpc_fx700.sh      # 2つ目のタスク実行 (4分)
FX1000:
$ pjsub submit_bert_lm.sh             # 1つ目のタスク実行
$ pjsub submit_bert_mrpc.sh           # 2つ目のタスク実行

実行結果例を示します。(以下FX700の結果。FX1000だと10%くらい速い) 最後の行が平均の1イテレーションの実行時間と1秒あたりの処理バッチ数です。 速度変動10%程度を見込んで、この結果と同様の値が出ていれば正常に動作しています。

1つ目のタスクの出力例:

08/11/2021 19:39:25 - INFO - __main__ -   ***** Running training *****
08/11/2021 19:39:25 - INFO - __main__ -     Num examples = 4800
08/11/2021 19:39:25 - INFO - __main__ -     Num Epochs = 1
08/11/2021 19:39:25 - INFO - __main__ -     Instantaneous batch size per device = 2
08/11/2021 19:39:25 - INFO - __main__ -     Total train batch size (w. parallel, distributed & accumulation) = 4
08/11/2021 19:39:25 - INFO - __main__ -     Gradient Accumulation steps = 1
08/11/2021 19:39:25 - INFO - __main__ -     Total optimization steps = 20
08/11/2021 19:39:26 - INFO - __main__ -   step =    0, loss = 2.96113
08/11/2021 19:39:27 - INFO - __main__ -   step =    1, loss = 6.45433
	(省略)
08/11/2021 19:39:49 - INFO - __main__ -   step =   19, loss = 61.14571
08/11/2021 19:39:49 - INFO - __main__ -   Averages: 1.0733 s/iter 3.7268 batch/s  ★ココ
08/11/2021 19:39:49 - INFO - __main__ -   Epoch Overhead: 0.0001 s

2つ目のタスクの出力例:

08/11/2021 19:43:25 - INFO - __main__ -   ***** Running training *****
08/11/2021 19:43:25 - INFO - __main__ -     Num examples = 3668
08/11/2021 19:43:25 - INFO - __main__ -     Num Epochs = 1
08/11/2021 19:43:25 - INFO - __main__ -     Instantaneous batch size per device = 16
08/11/2021 19:43:25 - INFO - __main__ -     Total train batch size (w. parallel, distributed & accumulation) = 32
08/11/2021 19:43:25 - INFO - __main__ -     Gradient Accumulation steps = 1
08/11/2021 19:43:25 - INFO - __main__ -     Total optimization steps = 20
08/11/2021 19:43:26 - INFO - __main__ -   step =    0, loss = 0.68342
08/11/2021 19:43:27 - INFO - __main__ -   step =    1, loss = 1.38550
	(省略)
08/11/2021 19:43:50 - INFO - __main__ -   step =   19, loss = 12.96724
08/11/2021 19:43:50 - INFO - __main__ -   Averages: 1.1420 s/iter 28.0216 batch/s ★ココ
08/11/2021 19:43:50 - INFO - __main__ -   Epoch Overhead: 0.0001 s
08/11/2021 19:43:50 - INFO - __main__ -

Mask R-CNN

https://github.com/facebookresearch/detectron2
Tag: v0.2.1 (2020/7/30)

$ pwd
/home/user/pytorch/scripts/fujitsu	# $PREFIX

$ cd mask_r_cnn_build_pack
$ bash submit_build.sh                # モデル構築 (8分)

$ cd detectron2

FX700:
$ bash submit_mask_r_cnn_fx700.sh     # モデル実行 (3分)
FX1000:
$ pjsub submit_mask_r_cnn.sh          # モデル実行

実行結果例を示します。(以下FX700の結果。FX1000だと10%くらい速い) 最後から2番目の行が平均の1イテレーションの実行時間と1秒あたりの画像処理速度です。 (最後の行は短時間の実行だと有効精度が出ないので参考程度)
速度変動10%程度を見込んで、この結果と同様の値が出ていれば正常に動作しています。

[08/11 21:40:58 d2.engine.train_loop]: Starting training from iteration 0
[08/11 21:41:02 d2.utils.events]:  iter: 0  total_loss: 10.284  loss_cls: 7.868  loss_box_reg: 0.009  loss_mask: 0.686  loss_rpn_cls: 0.980  loss_rpn_loc: 0.740  data_time: 1.0702  lr: 0.000003
[08/11 21:41:05 d2.utils.events]:  eta: 0:00:56  iter: 1  total_loss: 9.658  loss_cls: 7.399  loss_box_reg: 0.008  loss_mask: 0.693  loss_rpn_cls: 1.031  loss_rpn_loc: 0.528  data_time: 0.6659  lr: 0.000005
  (省略)
[08/11 21:42:03 d2.utils.events]:  eta: 0:00:03  iter: 19  total_loss: 2.744  loss_cls: 0.893  loss_box_reg: 0.024  loss_mask: 0.699  loss_rpn_cls: 0.690  loss_rpn_loc: 0.520  time: 3.2005  data_time: 0.3271  lr: 0.000050
[08/11 21:42:03 d2.engine.train_loop]: Averages: 3.2556 s/iter 1.2286 image/s  ★ココ
[08/11 21:42:03 d2.engine.hooks]: Overall training speed: 18 iterations in 0:00:57 (3.2006 s / it)

4. トラブルシューティング

オフラインインストール時、mask_rcnn_build_pack の '4_pycocotools.sh` で以下のエラーが出る

Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for matplotlib>=2.1.0
error: Could not find suitable distribution for Requirement.parse('matplotlib>=2.1.0')

インストール対象システムに git がインストールされていないと、このエラーが出ます。
(matplotlib は checkout.sh でダウンロード済だが、インストール時にgitで自分のバージョンを得ようとするため)

インストール対象システムに git をインストールしてください。

5. ソフトウェア版数一覧

ソフトウェア名 版数 ライセンス形態 備考
Python 3.8.2 GPL
PyTorch 1.7.0a0+af84b7e BSD-3
oneDNN v2.1.0L01_aarch64
Horovod 0.20.3 Apache 2.0

pip3 list

以下のリストは、2021/8/11にインストールした結果です。 PyTorch本体とすべてのサンプルモデルをインストールし終えた時点で表示しています。 モジュール版数はインストール日時によって変わることがあるのでご注意ください。

$ pip3 list
Package                Version            Location
---------------------- ------------------ --------------------------------------------------------------------------------
absl-py                0.9.0
attrs                  20.2.0
cachetools             4.1.0
certifi                2020.6.20
cffi                   1.14.0
chardet                3.0.4
click                  7.1.2
cloudpickle            1.6.0
ConfigArgParse         1.2.3
coverage               5.1
cycler                 0.10.0
Cython                 0.29.21
dataclasses            0.6
detectron2             0.2                /home/user/pytorch_ci_0811/scripts/fujitsu/mask_r_cnn_build_pack/detectron2
filelock               3.0.12
Flask                  1.1.2
future                 0.18.2
fvcore                 0.1.3.post20210227
google-auth            1.14.3
google-auth-oauthlib   0.4.1
grpcio                 1.28.0
h5py                   2.8.0
horovod                0.20.3
hypothesis             6.0.2
idna                   2.9
iniconfig              1.1.1
iopath                 0.1.4
itsdangerous           1.1.0
Jinja2                 2.11.2
joblib                 1.0.0
kiwisolver             1.3.1
Markdown               3.2.2
MarkupSafe             1.1.1
matplotlib             3.3.4
mock                   4.0.3
numpy                  1.19.0
oauthlib               3.1.0
packaging              20.4
Pillow                 7.2.0
pip                    20.1
pkgconfig              1.5.1
pluggy                 0.13.1
portalocker            2.2.1
protobuf               3.11.3
psutil                 5.7.0
py                     1.9.0
pyasn1                 0.4.8
pyasn1-modules         0.2.8
pybind11               2.6.1
pycocotools            2.0.2
pycparser              2.20
pydot                  1.4.2
pyonmttok              1.18.3
pyparsing              2.4.7
pytest                 6.1.1
pytest-runner          5.2
python-dateutil        2.8.1
PyYAML                 5.3.1
regex                  2020.11.13
requests               2.23.0
requests-oauthlib      1.3.0
rsa                    4.0
sacremoses             0.0.43
scikit-learn           0.22.1
scipy                  1.5.2
semantic-version       2.8.5
sentencepiece          0.1.90
setuptools             46.2.0
setuptools-rust        0.11.6
six                    1.15.0
sortedcontainers       2.3.0
tabulate               0.8.9
tensorboard            2.2.1
tensorboard-plugin-wit 1.6.0.post3
termcolor              1.1.0
tokenizers             0.9.2
toml                   0.10.1
torch                  1.7.0a0
torchtext              0.4.0
torchvision            0.8.0a0+a1e526b
tqdm                   4.30.0
transformers           3.4.0              /home/user/pytorch_ci_0811/scripts/fujitsu/bert_build_pack/transformers/src
typing-extensions      3.7.4.3
urllib3                1.25.9
waitress               1.4.3
Werkzeug               1.0.1
wheel                  0.34.2
yacs                   0.1.8

Copyright

Copyright RIKEN, Japan 2021
Copyright FUJITSU LIMITED 2021

Clone this wiki locally