比較的計算集約的な毎年のデータを計算しています。データを計算するための反復を実行するのにかかる時間を短縮するために、numba を (大きな効果を得るために) 使用しました。ただし、20 年間の独立したデータがあることを考えると、それらを 4 つの異なる CPU コアで実行できる 4 つのグループ x 5 に分割したいと考えています。
def compute_matrices(self):
for year in self.years:
self.xs[year].compute_matrix()
上記のコード スニペットでは、関数は属性 year および xs を含む Class 内のメソッドです。year
は単なる整数の年でありxs
、xs.data と compute_matrix() メソッドを格納する断面オブジェクトです。
これを複数のコアに分割する最も簡単な方法は何ですか?
ループを自動的に分割して異なるプロセスで実行し、結果を結合できる Numba スタイルのデコレータがあれば素晴らしいことです。これは存在しますか?
Python.multiprocessing を使用するのが最善の策ですか?