Qulacs-Osaka / qulacs-osaka

Development branch of qulacs at Osaka Univ
MIT License
13 stars 6 forks source link

wheel build の並列化 #168

Closed ikanago closed 1 year ago

ikanago commented 2 years ago

wheel build を Python のバージョンごとに並列化したいです.可能かどうかはまだ確かめていません.

ikanago commented 2 years ago

Python3.6 は security release も終了するのでリリースから外してもよさそうです

We plan to provide security fixes for Python 3.6 as needed through 2021, five years following its initial release.

https://www.python.org/downloads/release/python-3615/ https://endoflife.date/python

ikanago commented 2 years ago

バージョンごとにビルドを並列化するのは問題ないですが,アップロードを並列化するとビルドに失敗したバージョンだけが公開されない状態になる場合があります。 actions/upload-artifact と actions/download-artifact でうまく同期する必要がありそうです。 あるいは,アップロード時には直列ビルド,それ以外のときは並列ビルドだけして結果は破棄,とすればシンプルになります.

ikanago commented 2 years ago

ただ,cibuildwheel がバージョンごとの並列ビルドをサポートしていなさそうなので CIBW_BUILD を matrix で変えてやるしかないんですが,これをやるとアップロード時だけ直列でやるというのが面倒そうなんですよね...(さすがにアップロード時とそれ以外でジョブを2つ書くのはだるいし)

kotamanegi commented 2 years ago

CIBW_BUILDの値は更新されるので、新しいバージョンが出た場合は管理が必要になり面倒です。 wheelを高速化する方向性の方が筋が良いと感じたのですがどうでしょうか?

ikanago commented 2 years ago

ややこしくなるだけですね... ubuntu と mac のほうに ccache を入れて改善できるか試してみます

ikanago commented 2 years ago

cibuildwheel が起動するコンテナの中にキャッシュができるはずで,これを取り出すのが難しそうです

kotamanegi commented 1 year ago

Done in https://github.com/qulacs/qulacs/pull/395