これは、しばらくの間私を悩ませてきた単純な質問です。
コードを並列に書き直そうとしていますが、その過程で複数のノードで実行する合計を分割し、それらの小さな合計を合計する必要があります。私が取り組んでいる作品はこれです:
def pia(n, i):
k = 0
lsum = 0
while k < n:
p = (n-k)
ld = (8.0*k+i)
ln = pow(16.0, p, ld)
lsum += (ln/ld)
k += 1
return lsum
ここn
で、 は限界で、i
は整数です。これを分割して最終的に同じ結果を得る方法についてのヒントはありますか?
編集:尋ねる人のために、私は使用していませんpow()
が、浮動小数点で効率的に行うためのカスタムバージョンを使用しています:
def ssp(b, n, m):
ssp = 1
while n>0:
if n % 2 == 1:
ssp = (b*ssp) % m
b = (b**2) % m
n = n // 2
return ssp