python-meep team mailing list archive
-
python-meep team
-
Mailing list archive
-
Message #00055
Re: Build problems for MPI in Ubuntu 12.10
I finally got it to compile with MPI support now. It worked once I was
able to install the packages just named "meep-mpi" and "libmeep-mpi-dev"
which were different from the "default" and "openmpi" versions.
Now it has another problem... when I execute a script with mpirun and the
"-np 2" argument, it seems that the program just executes two identical
copies of itself in parallel rather than splitting up any of the work:
The command I use is
mpirun -np 2 python python_meep_bent_wg_polygons.py
Part of the output:
*** Bent waveguide sample using POLYGONS to geometry, version 28-02-2011 **
Running on 1 processor(s)...*
So it takes twice as long to finish a given task. I tried it with MPICH2
and OpenMPI but it does the same thing. It also encounters random errors
when running with multiple processors, probably because HDF5 is not
properly compiled for parallel support on my machine (I installed
libhdf5-mpich-dev).
I appreciate your help! Hopefully this will be the last big problem I run
into. Thanks again!
On Tue, Nov 6, 2012 at 9:02 AM, Martin Fiers <mfiers@xxxxxxxxx> wrote:
> Dear Jeff,
>
> I'm not sure whether that's the problem, but the ImportError probably
> means it cannot find your _meep_mpi.so file. This could be, again, because
> of non-default locations. By the way, if I'm not mistaking _meep_mpi.so is
> not a file from the ubuntu repository but a file that was generated during
> your compilation of python-meep.
>
> In any case, it can be solved most likely by adding the so file to the
> library path:
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/_meep_mpi.so. Although I
> thought, from my modest experience with linking and python packages, if the
> _meep_mpi.so file is in the same folder as the meep_mpi.py file, it should
> find it automatically (as it's also in the site/dist-packages directory).
>
> Best regards,
> Martin
>
> 2012/11/6 Jeff Chiles <pseudotexan@xxxxxxxxx>
>
>> Thanks for your reply. I took your advice, and I found out that it
>> successfully compiled if I installed the Ubuntu packages
>> "libmeep-mpi-default-dev" and "meep-mpi-default", and then changed the
>> extension in the setup-mpi.py to "_meep_mpi-default" and the libraries var
>> to "meep_mpi-default".
>>
>> So it successfully compiled, but when I tried to execute an mpi script,
>> it gives me this error:
>>
>> *username@ubuntu:~/python-meep-1.4.2/python-meep/samples$ mpipython
>> ./python_meep_symmetry_straight_wg.py*
>> *Traceback (most recent call last):*
>> * File "./python_meep_symmetry_straight_wg.py", line 7, in <module>*
>> * from meep_mpi import * # make it 'meep_mpi' for MPI-meep and
>> 'meep' for non-MPI meep*
>> * File "/usr/local/lib/python2.7/dist-packages/meep_mpi.py", line 26,
>> in <module>*
>> * _meep_mpi = swig_import_helper()*
>> * File "/usr/local/lib/python2.7/dist-packages/meep_mpi.py", line 18,
>> in swig_import_helper*
>> * import _meep_mpi*
>> *ImportError: No module named _meep_mpi*
>>
>> So it seems that it still isn't able to link properly despite my changes.
>>
>> It may just be that the ubuntu packages just don't work well with this
>> version of python-meep. If this is the case, where would you recommend I
>> get the packages for meep-mpi and libmeep-mpi, so that I can avoid these
>> problems I'm having?
>>
>> Thanks again.
>>
>> -Jeff
>>
>>
>> On Mon, Nov 5, 2012 at 5:12 AM, Nizamov Shawkat <
>> nizamov.shawkat@xxxxxxxxx> wrote:
>>
>>> Hello,
>>>
>>> Sorry for the delay with maillist - the policy of Launchpad changed it
>>> to be a moderated list a year or so ago.
>>>
>>> The errors which you are facing are most probably caused by the meep
>>> build. The first error you are mentioning is due to the meep's include
>>> *.h files being absent at their usual location under /usr/include.
>>> You fixed that but now the problem is that meep's library with mpi
>>> support can not be found (it looks for /usr/lib/libmeep_mpi.so). Is it
>>> a meep compiled by yourself or an ubuntu package? Please check, where
>>> is the library file (libmeep_mpi.so) and how it is named. Ee.g., in
>>> ubuntu 12.10 I see that the meep-openmpi calls this library as
>>> libmeep_openmpi.so, correspondingly, the compiler option "-lmeep_mpi"
>>> should be changed to "-lmeep_openmpi".
>>>
>>>
>>> With best regards,
>>> Shavkat
>>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~python-meep
>> Post to : python-meep@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~python-meep
>> More help : https://help.launchpad.net/ListHelp
>>
>>
>
Follow ups
References