mpi4pyのscatterがoverflowする

容量の大きいpickleオブジェクトをscatterしようとしたらoverflowしたのでメモ。

scatterはそれぞれのpickleオブジェクトが2GB以上だとint32の範囲を超えるのでoverflowするらしい。

解決策: send/recvを使う。

もし大きいオブジェクトを扱いたいならpkl5がいいらしいが、今回は調べられていないので参考まで。

参考は以下。

https://github.com/mpi4py/mpi4py/issues/119

配列のインデックスがintからはみ出てるのかと思ってindexをint64にしたりしてみたが、結局scatter側の問題だった。

コメント

タイトルとURLをコピーしました