Guest User

Untitled

a guest
Dec 12th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import multiprocessing as mp
  3. L = 100000
  4. proc = 500 # 8並列とする
  5.  
  6. # 各プロセスが実行する計算
  7. def subcalc(p): # p = 0,1,...,7
  8. subtotal = 0
  9.  
  10. # iの範囲を設定
  11. ini = L * p / proc
  12. fin = L * (p+1) / proc
  13.  
  14. # 計算を実行
  15. for i in range(ini, fin):
  16. for j in range(L):
  17. subtotal += i * j
  18. return subtotal
  19.  
  20. # 8個のプロセスを用意
  21. pool = mp.Pool(proc)
  22.  
  23. # 各プロセスに subcalc(p) を実行させる
  24. # ここで p = 0,1,...,7
  25. # callbackには各戻り値がlistとして格納される
  26. callback = pool.map(subcalc, range(8))
  27.  
  28. # 各戻り値の総和を計算
  29. total = sum(callback)
  30. print("core number:"+str(proc))
Add Comment
Please, Sign In to add comment