File: test_helloworld.py

package info (click to toggle)
mpi4py 2.0.0-2.1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 2,680 kB
  • sloc: python: 15,291; ansic: 7,099; makefile: 719; f90: 158; sh: 156; cpp: 121
file content (23 lines) | stat: -rw-r--r-- 527 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from libmpi import ffi, lib

NULL   = ffi.NULL
size_p = ffi.new('int*')
rank_p = ffi.new('int*')
nlen_p = ffi.new('int*')
name_p = ffi.new('char[]', lib.MPI_MAX_PROCESSOR_NAME);

lib.MPI_Init(NULL, NULL);

lib.MPI_Comm_size(lib.MPI_COMM_WORLD, size_p)
lib.MPI_Comm_rank(lib.MPI_COMM_WORLD, rank_p)
lib.MPI_Get_processor_name(name_p, nlen_p)

size = size_p[0]
rank = rank_p[0]
nlen = nlen_p[0]
name = ffi.string(name_p[0:nlen])

print("Hello, World! I am process %d of %d on %s."
      % (rank, size, name))

lib.MPI_Finalize()