No trouble at all, Jay.
I cannot say, I understand the issue fully, but I think you are right about Python expecting to use the same version of gcc that it (itself) was compiled with. And I am not sure about the subtleties on Macs.
Perhaps, you can try to just compile it (i.e. not using the distutils) by running (and perhaps modifying) the little script:
ro@homedesk:~/sandpit/pypar/source$ mpirun -np 4 python test_pypar.py
I got the output listed below.
My environment here at home is
- Ubuntu 11.04 - 32 bit
- gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
with the dependencies
sudo apt-get install openmpi-common openmpi-bin libopenmpi-dev
Hope this helps - otherwise, perhaps someone on this mailing list can chime in.
Cheers
Ole
#-------------- Test Output -----------------
ro@homedesk:~/sandpit/pypar/source$ mpirun -np 4 python test_pypar.py
Pypar (version 2.1.4) initialised MPI OK with 4 processors
I am processor 0 of 4 on node "homedesk"
I am processor 1 of 4 on node "homedesk"
I am processor 3 of 4 on node "homedesk"
Buffered communication of numeric integer arrays OK
Buffered communication of numeric long integer arrays OK
Buffered communication of numeric real arrays OK
Buffered communication of numeric complex arrays OK
I am processor 2 of 4 on node "homedesk"
Buffered communication of strings OK
Buffered communication of general structures OK
Buffered communication of 2D real arrays OK
Buffered communication of 2D complex arrays OK
Buffered communication of 3D real real arrays OK
Buffered communication of 4D real real arrays OK
Buffered communication of 5D real real arrays OK
Buffered communication of 5D double arrays OK
Buffered communication of 5D complex arrays OK
Simplified communication of numeric integer arrays OK
Simplified communication of long integer real arrays OK
Simplified communication of numeric real arrays OK
Simplified communication of numeric complex arrays OK
Simplified communication of strings OK
Simplified communication of general structures OK
Simplified communication of 2D real arrays OK
Simplified communication of 3D real arrays OK
Simplified communication of 4D real arrays OK
Simplified communication of 5D real arrays OK
Simplified communication of 5D double arrays OK
Simplified communication of 5D complex real arrays OK
Broadcast communication of strings OK
Broadcast communication of numeric integer array OK
Broadcast communication of numeric real array OK
Broadcast communication of 2D numeric real array OK
Broadcast communication of 3D numeric real array OK
Broadcast communication of 3D numeric complex array OK
Broadcast communication of general structures OK
Scatter communication of strings OK
Scatter communication of numeric integer array OK
Scatter communication of numeric real arrays OK
Scatter communication of numeric complex array OK
Gather communication of strings OK
Gather communication of numeric integer array OK
Gather communication of numeric real array OK
Gather communication of numeric complex arrays OK
Gather communication of 2D numeric complex arrays OK
Buffered reduce using pypar.SUM OK
Buffered reduce using pypar.MAX OK
Buffered reduce using pypar.MIN OK
Buffered reduce using pypar.PROD OK
Buffered reduce using pypar.LAND OK
Buffered reduce using pypar.BAND OK
Buffered reduce using pypar.LOR OK
Buffered reduce using pypar.BOR OK
Buffered reduce using pypar.LXOR OK
Buffered reduce using pypar.BXOR OK
Status object (numeric integer arrays) OK
Status object (numeric real arrays) OK
Status object (strings) OK
Status object (more general structures) OK
Status object (general structures) OK
Status object (buffered numeric integer arrays) OK
Status object (buffered numeric real arrays) OK
Status object (buffered strings) OK
Status object (buffered general structures) OK