Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. from mpi4py import MPI
  2. import numpy as np
  3. import cProfile
  4.  
  5. import bifurcation
  6.  
  7. def main():
  8. comm = MPI.COMM_WORLD
  9. rank = comm.Get_rank()
  10. size = comm.Get_size()
  11.  
  12.  
  13. num_rs = 1000
  14. iters = 10000
  15. tail_len = 100
  16. range_start = 0
  17. range_end = 4
  18. range_len = (range_end - range_start) / size
  19.  
  20. chunk = num_rs//size
  21. start = rank * range_len
  22. end = (rank + 1) * range_len
  23.  
  24. rs = np.linspace(start, end, num=chunk, endpoint=False)
  25.  
  26. histories = bifurcation.get_bifurcation_map(rs, iters, tail_len)
  27. histories = np.array(histories)
  28.  
  29. recvbuf = None
  30. if rank == 0:
  31. recvbuf = np.empty((num_rs, tail_len), 'd')
  32. # recvbuf = np.empty(size, 'int64')
  33.  
  34. comm.Gather(histories, recvbuf, root=0)
  35. if rank == 0:
  36. print('Done')
  37. # bifurcation.plot_bifurcations(np.linspace(range_start, range_end, num_rs), recvbuf)
  38.  
  39.  
  40.  
  41. if __name__ == '__main__':
  42. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement