File: mpi_simple2.py

package info (click to toggle)
pyina 0.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 548 kB
  • sloc: python: 2,666; makefile: 34
file content (42 lines) | stat: -rwxr-xr-x 1,025 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 1997-2016 California Institute of Technology.
# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
# License: 3-clause BSD.  The full license text is available at:
#  - https://github.com/uqfoundation/pyina/blob/master/LICENSE
"""
# Testing pyina.mpi.world.bcast
# To run:

mpiexec -np 4 `which python` mpi_simple2.py

python mpi_simple2.py
""" 

import logging

class SimpleApp(object):

    def __call__(self):
        from pyina import mpi

        world = mpi.world
        logging.info("I am rank %d of %d" % (world.rank, world.size))
        root = 0
        if world.rank == root:
            str = "hello world"
            nn = world.bcast(str, root)
            print("Master has: %s " % nn)
        else:
            nn = world.bcast("", root)
            print("Worker (%d) has: %s " % (world.rank, nn))
        return


if __name__ == "__main__":

    app = SimpleApp()
    app()

# End of file