On Sun, Jan 30, 2011 at 7:11 AM, Andreas Kloeckner <li...@informa.tiker.net> wrote:
> Try calling pytools.prefork.enable_prefork before you call MPI_Init(). > (PyCUDA is already prepared for this under the hood, and you already > have pytools if you have PyCUDA.) > > http://git.tiker.net/pytools.git/blob/HEAD:/pytools/prefork.py Thank you for the suggestion. Unfortunately it doesn't solve the problem. If I run this: import sys import time from pytools import prefork prefork.enable_prefork() tcmd = ["gcc","--version"] retcode, stdout, stderr = prefork.call_capture_output(tcmd) sys.stdout.write("stdout: %s\n"%(stdout)) sys.stdout.write("stderr: %s\n"%(stderr)) sys.stdout.flush() time.sleep(10) sys.stdout.write("done\n") using mpich2 1.3, only one process returns any output on stdout, the others return None. The pytools methods succeed in doing the fork and I can see the sockets that are created, but nothing is returned. As an interim, I have hacked compiler.py in the way I intimated in the original post to the list, which gets things running, but I am sure there must be a more elegant way of solving this. _______________________________________________ PyCUDA mailing list PyCUDA@tiker.net http://lists.tiker.net/listinfo/pycuda