私はmpi pythonコードを書いています。たとえば、4 つの proc には以下のデータがあります。
data on procs0: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0]
data on procs1: [0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 0]
data on procs2: [0, 0, 0, 0, 0, 0, 7, 8, 9, 0, 0, 0]
data on procs3: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12]
mpi4py ライブラリの reduce 関数を使用して、procs0 のデータを削減したいと考えています。結果は次のとおりです。
result on procs0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
mpi4py lib関数を使用してどのように作成できますか?
編集済み: 上記は単純な特殊なケースです。set は使用できません。以下の別のケースを参照してください。
data on procs0: [1,0,0,0,0,0]
data on procs1: [0,2,0,0,0,0]
data on procs2: [0,0,0,3,0,0]
data on procs3: [0,0,0,0,4,5]
理想的な結果は次のとおりです。
result on procs0: [1,2,0,3,4,5]