いくつかの実験データをフィッティングするためのコストのかかる計算があります。フィッティング関数は固有モードの合計であり、それぞれが特定の表面積分を含んでいます。古典的な方法で行うとかなり遅いので、スレッド化することを考えました。私はPythonを使用しています。
計算したい関数は次のようなものです
def fit_func(params , Mmin, Mmax):
values = np.zeros(1000)
for m in range(Mmin, Mmax):
# Fancy Calculation for each mode
# some calulation with all modes, adding them up 'values'
return values
どうすればこれを分割できますか? 私は次のようなことをしました
data1 = thread.start_new_thread(fit_func, (params,0,13))
data2 = thread.start_new_thread(fit_func, (params,13,25))
しかし、data1 と data2 の合計は fitfunc(params, 0,25) と同じではありません...