質問するログイン新規登録

回答編集履歴

1

edit

2018/03/06 12:09

投稿

mkgrei
mkgrei

スコア8562

answer CHANGED
@@ -1,1 +1,28 @@
1
- pythonインタプリタで`import mpi4py`はできますか?
1
+ pythonインタプリタで`import mpi4py`はできますか?
2
+
3
+ ---
4
+
5
+ 以下のコードがを`bench.py`と名付けて、`mpirun -n 4 python bench.py `してみてください。
6
+ ```python
7
+ import sys as _sys
8
+ from mpi4py import MPI
9
+
10
+ def helloworld():
11
+ comm = MPI.COMM_WORLD
12
+ size = comm.Get_size()
13
+ rank = comm.Get_rank()
14
+ name = MPI.Get_processor_name()
15
+ message = ("Hello, World! I am process %*d of %d on %s.\n"
16
+ % (len(str(size - 1)), rank, size, name))
17
+ comm.Barrier()
18
+ if rank > 0:
19
+ comm.Recv([None, 'B'], rank - 1)
20
+ if True:
21
+ _sys.stdout.write(message)
22
+ _sys.stdout.flush()
23
+ if rank < size - 1:
24
+ comm.Send([None, 'B'], rank + 1)
25
+ comm.Barrier()
26
+
27
+ helloworld()
28
+ ```