File: helloworld.py

package info (click to toggle)
mpi4py 4.0.3-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 4,196 kB
  • sloc: python: 32,170; ansic: 13,449; makefile: 602; sh: 314; f90: 178; cpp: 148
file content (18 lines) | stat: -rw-r--r-- 405 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from mpi4py import MPI
import ctypes
import os

_libdir = os.path.dirname(__file__)

MPI_Fint = ctypes.c_int

class MPI_Comm(ctypes.Structure):
    _fields_ = [("mpi_val", MPI_Fint)]

lib = ctypes.CDLL(os.path.join(_libdir, "libhelloworld.so"))
lib.sayhello.restype = None
lib.sayhello.argtypes = [ctypes.POINTER(MPI_Comm)]

def sayhello(comm):
    comm_f = MPI_Comm(comm.py2f())
    lib.sayhello(comm_f)