Tag: mpi4py

如何通过cython将MPI通信器从python传递给C?

我试图通过cython将一个MPI_Comm通信器句柄作为参数包装一个C函数。 因此,我希望能够从python调用该函数,并将其传递给mpi4py.MPI.Comm对象。 我想知道的是,如何从mpi4py.MPI.Comm转换为MPI_Comm 。 为了演示,我使用了一个简单的“Hello World!” – 类型函数: helloworld.h : #ifndef HELLOWORLD #define HELLOWORLD #include void sayhello(MPI_Comm comm); #endif helloworld.c : #include #include “helloworld.h” void sayhello(MPI_Comm comm){ int size, rank; MPI_Comm_size(comm, &size); MPI_Comm_rank(comm, &rank); printf(“Hello, World! ” “I am process %d of %d.\n”, rank, size); } 我现在想从python中调用这个函数,如下所示: from_python.py : import mpi4py import helloworld_wrap helloworld_wrap.py_sayhello(mpi4py.MPI.COMM_WORLD) 意思是mpirun […]