xref: /petsc/src/sys/tests/ex55.py (revision 4a39b367f075d4cbee3be4cb8e973102c7675e4f)
1from mpi4py import MPI
2import numpy
3
4comm = MPI.COMM_WORLD
5rank = comm.Get_rank()
6
7# passing MPI datatypes explicitly
8if rank == 0:
9    data = numpy.arange(1000, dtype='i')
10    comm.Send([data, MPI.INT], dest=1, tag=77)
11elif rank == 1:
12    data = numpy.empty(1000, dtype='i')
13    comm.Recv([data, MPI.INT], source=0, tag=77)
14
15# automatic MPI datatype discovery
16if rank == 0:
17    data = numpy.arange(100, dtype=numpy.float64)
18    comm.Send(data, dest=1, tag=13)
19elif rank == 1:
20    data = numpy.empty(100, dtype=numpy.float64)
21    comm.Recv(data, source=0, tag=13)
22