[gpaw-users] can't using gpaw-python

Marcin Dulak Marcin.Dulak at fysik.dtu.dk
Tue Oct 8 11:14:43 CEST 2013


Please continue on the list - this will be useful for other users.

On 10/08/2013 03:21 AM, 謝其軒 wrote:
> Hi,
> I'm on a cluster CentOS system
> Using openmpi 1.4.4   numpy 1.7.0  scipy 0.12.0
> The error appear when I simply started gpaw-python on the command 
> line, not relavant to anyother modules
> the error :
> ImportError: numpy.core.multiarray failed to import
>
>
>
> ----------------------------------
> python -c "import numpy; print numpy.__config__.show(); print 
> numpy.__version__"
>
> lapack_opt_info:
>     libraries = ['mkl_lapack95_lp64', 'mkl_gf_lp64', 
> 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
>     library_dirs = ['/home/vagrant/src/master-env/lib']
>     define_macros = [('SCIPY_MKL_H', None)]
>     include_dirs = ['/home/vagrant/src/master-env/include']
> blas_opt_info:
>     libraries = ['mkl_gf_lp64', 'mkl_intel_thread', 'mkl_core', 
> 'iomp5', 'pthread']
>     library_dirs = ['/home/vagrant/src/master-env/lib']
>     define_macros = [('SCIPY_MKL_H', None)]
>     include_dirs = ['/home/vagrant/src/master-env/include']
> lapack_mkl_info:
>     libraries = ['mkl_lapack95_lp64', 'mkl_gf_lp64', 
> 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
>     library_dirs = ['/home/vagrant/src/master-env/lib']
>     define_macros = [('SCIPY_MKL_H', None)]
>     include_dirs = ['/home/vagrant/src/master-env/include']
> blas_mkl_info:
>     libraries = ['mkl_gf_lp64', 'mkl_intel_thread', 'mkl_core', 
> 'iomp5', 'pthread']
>     library_dirs = ['/home/vagrant/src/master-env/lib']
>     define_macros = [('SCIPY_MKL_H', None)]
>     include_dirs = ['/home/vagrant/src/master-env/include']
> mkl_info:
>     libraries = ['mkl_gf_lp64', 'mkl_intel_thread', 'mkl_core', 
> 'iomp5', 'pthread']
>     library_dirs = ['/home/vagrant/src/master-env/lib']
>     define_macros = [('SCIPY_MKL_H', None)]
>     include_dirs = ['/home/vagrant/src/master-env/include']
> None
> 1.7.1

>
> -------------------------------
>
>
>  ldd `python -c "from numpy.core import multiarray; print 
> multiarray.__file__"`
> linux-vdso.so.1 =>  (0x00007ffffd5fd000)
> libm.so.6 => /lib64/libm.so.6 (0x00002af51a2dc000)
> libpython2.7.so.1.0 => 
> /home/z955018/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/core/../../../../../lib/libpython2.7.so.1.0 
> (0x00002af51a55f000)
this is the python used by numpy - you need to make sure that you build 
gpaw-python using the same python version.
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00002af51a90e000)
> libc.so.6 => /lib64/libc.so.6 (0x00002af51ab2a000)
> libdl.so.2 => /lib64/libdl.so.2 (0x00002af51ae81000)
> libutil.so.1 => /lib64/libutil.so.1 (0x00002af51b086000)
> /lib64/ld-linux-x86-64.so.2 (0x0000003836400000)
>
>
> ----------------------------
>
>  ldd `which gpaw-python`
> linux-vdso.so.1 =>  (0x00007fff325d1000)
> libxc.so.1 => /opt/etsf/lib/libxc.so.1 (0x00002ab9fb1e7000)
> libblas.so.3 => /usr/lib64/atlas/libblas.so.3 (0x00002ab9fb495000)
> liblapack.so.3 => /usr/lib64/atlas/liblapack.so.3 (0x00002ab9fbe65000)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003837800000)
> libdl.so.2 => /lib64/libdl.so.2 (0x0000003837400000)
> libutil.so.1 => /lib64/libutil.so.1 (0x0000003846600000)
> libm.so.6 => /lib64/libm.so.6 (0x00000037c7000000)
> librdmacm.so.1 => /usr/lib64/librdmacm.so.1 (0x0000003832200000)
> libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x0000003831e00000)
> libtorque.so.2 => /opt/torque//lib/libtorque.so.2 (0x00002ab9fc57e000)
> libnsl.so.1 => /lib64/libnsl.so.1 (0x000000383ee00000)
> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003848a00000)
> libc.so.6 => /lib64/libc.so.6 (0x0000003836800000)
> libgfortran.so.1 => /usr/lib64/libgfortran.so.1 (0x00002ab9fc881000)
> /lib64/ld-linux-x86-64.so.2 (0x0000003836400000)
> ------------------------------
i don't see here libpython2.7.so.1.0 => 
/home/z955018/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/core/../../../../../lib/libpython2.7.so.1.0 
(0x00002af51a55f000)
so i'm guessing gpaw-python is built using the default CentOS 5 python 
2.4 (is it the system you run?).

A numpy build using mkl is a fast and good solution for standalone numpy 
runs, but will most likely
fail when running with gpaw-python, and other custom python interpreters 
that link their own blas/lapack.
This can be serious: I have seen cases when it does not crash, but gives 
wrong numbers instead.
For the moment let's keep numpy/mkl, but if running gpaw-test fails - 
try to build numpy with it's
internal blas/lapack as described here: 
https://wiki.fysik.dtu.dk/gpaw/install/Linux/sun_chpc.html

When you have gpaw-python starting,

export OMP_NUM_THREADS=1

and run the full tests in parallel (on 1, 2, 4, 8 cores):
mpiexec gpaw-python `which gpaw-test`

Remember to use the version of setups that corresponds to the gpaw 
version installed:
http://listserv.fysik.dtu.dk/pipermail/gpaw-users/2013-October/002398.html
gpaw-test may show problems with numpy/mkl,
but even if all tests pass you may still expect problems in some cases.

Best regards,

Marcin
> I use numpy and scipy from the canopy package, funny thing is that 
> when I change the package to anaconda, the error message changes.
>
***********************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/gpaw-users/attachments/20131008/9313dda8/attachment.html>


More information about the gpaw-users mailing list