Hi Edward,
I installed mpi4py and OpenMPI both from the fedora packages. I had a
mpi4py that I downloaded via the site itself, and compiled it, but I
wasn't
able to install it so I deleted it. The command
mpirun --np 5 python -c "import mpi4py; from mpi4py import MPI;
print('Mpi4py %s process %d of %d on %s.'%(mpi4py._version_,MPI>COM
M_WORLD.Get_rank(),MPI>COMM_WORLD.Get_size(),MPI.Get_process
or_name()))"
gave no output. These are the mpi packages I have installed
Openmpi:
openmpi-1.7.3-1.fc.20(64-bit)
openmpi-devel-1.7.3-1.fc20(64bit)
pypar-openmpi-2.1.5_108_3.fc.20(64bit)
python3-mpi4py-1.3.1-1.fc20(64bit)
Mpi4py
mpi4py-common-1.3.1-1.fc20
mpi4py-mpich-1.3.1-1.fc20
mpi4py-openmpi-1.3.1-1.fc20
python3-mpi4py-mpich-1.3.1-1.fc20
python3-mpi4py-openmpi-1.3.1-1.fc20
Could you reccomend which packages specifically I should install? I
could just tell my PI to remove all the openmpi and mpi4py programs, and
download the specific 2 that do work (if there is a problem with having
different mpi's and mpi4py's)
All of these were installed from the fedora packages themselves. Also
the locate mpi list gave me a massive output (I assume this is because I
have 5 programs that use mpi)
Sincerely,
Sam
On Wed, Oct 5, 2016 at 2:09 PM, Edward d'Auvergne <edward@xxxxxxxxxxxxx
wrote:
On 5 October 2016 at 22:01, Mahdi, Sam <sam.mahdi.846@xxxxxxxxxxx>
wrote:
Hi Troels,
The mpirun --np 2 gave no output, so I had to abort the command, but
here is
the output.
crowlab: [~]> python -c "import mpi4py; print mpi4py.__version__"
1.3.1
crowlab: [~]> mpirun --np 2 python -c "from mpi4py import MPI; print
MPI.COMM_WORLD.Get_rank()"
^Ccrowlab: [~]>
Hi Sam,
This result I'm pretty sure shows that mpi4py is not functioning
correctly - i.e. there is an installation problem. This is what you
should see:
[edward@localhost ~]$ mpirun --np 2 python -c "from mpi4py import MPI;
print MPI.COMM_WORLD.Get_rank()"
0
1
[edward@localhost ~]$
Note the printout of 0 and 1. Maybe try the following:
[edward@localhost ~]$ mpirun --np 5 python -c "import mpi4py; from
mpi4py import MPI; print('Mpi4py %s process %d of %d on %s.'
%(mpi4py.__version__,
MPI.COMM_WORLD.Get_rank(),MPI.COMM_WORLD.Get_size(),
MPI.Get_processor_name()))"
Mpi4py 1.3.1 process 0 of 5 on localhost.localdomain.
Mpi4py 1.3.1 process 1 of 5 on localhost.localdomain.
Mpi4py 1.3.1 process 4 of 5 on localhost.localdomain.
Mpi4py 1.3.1 process 2 of 5 on localhost.localdomain.
Mpi4py 1.3.1 process 3 of 5 on localhost.localdomain.
[edward@localhost ~]$
If you don't see a printout here, then clearly mpi4py and OpenMPI are
not working together correctly. Without a printout, your mpi4py is
FUBAR. Are you using the default OpenMPI and mpi4py packages form
fedora, and you don't have any backports or other non-standard sources
set up for your RPMs? Do you have any user installed MPI or mpi4py
software around? If you type:
$ locate mpi
What do you see? For me this is pretty clearly an installation
problem.
Regards,
Edward