[gpaw-users] installation of gpaw
Marcin Dulak
Marcin.Dulak at fysik.dtu.dk
Wed Nov 16 20:38:08 CET 2011
Hi,
Nichols A. Romero wrote:
> Hi,
>
> I am replying to this very old post because I just ran into Boris problem
> and was able to solve it.
>
> If I run the regression test on the _gpaw.so (effectively, the serial binary),
> you get the following error when running numpy_zdotc_graphite.py
>
> *** libmkl_mc.so *** failed with error : /soft/intel/mkl/10.2.5.035/lib/em64t/libmkl_mc.so: undefined symbol: mkl_dft_commit_descriptor_s_c2c_md_omp
> *** libmkl_def.so *** failed with error : /soft/intel/mkl/10.2.5.035/lib/em64t/libmkl_def.so: undefined symbol: mkl_dft_commit_descriptor_s_c2c_md_omp
> MKL FATAL ERROR: Cannot load neither libmkl_mc.so nor libmkl_def.so
>
> The correct link line is provided by this handy Java script:
> http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
>
in my experience what you get from this tool does not always work.
Try to search for the required symbols under
/soft/intel/mkl/10.2.5.035/lib/em64t/
using nm or strings, make a guess which *.so (many can contain those
symbols) is more relevant,
and link to it explicitly. I can't guarantee this works, but worked many
times for me.
Marcin
> For dynamic linking, all that is needed is:
> libraries += ['mkl_intel_lp64',
> 'mkl_sequential',
> 'mkl_core']
>
> which is what Boris was using. Thie static linking line is different and
> not relevant for _gpaw.so.
>
> Setting this environment variable solved the problem:
> LD_PRELOAD = /soft/mkl/10.2.2.025/lib/em64t/libmkl_core.so:/soft/mkl/10.2.2.025/
> lib/em64t/libmkl_sequential.so
>
> I don't fully comprehend why LD_PRELOAD is needed here, but it seems to solve
> the problem. Maybe someone on the list that has in-depth knowledge of the linker
> can comment.
>
> Nichols A. Romero, Ph.D.
> Argonne Leadership Computing Facility
> Argonne National Laboratory
> Building 240 Room 2-127
> 9700 South Cass Avenue
> Argonne, IL 60490
> (630) 252-3441
>
>
> ----- Original Message -----
> From: "Marcin Dulak" <Marcin.Dulak at fysik.dtu.dk>
> To: "Boris Averkiev" <averkiev75 at yahoo.com>
> Cc: "gpaw-users at listserv.fysik.dtu.dk" <gpaw-users at servfys.fysik.dtu.dk>
> Sent: Friday, May 21, 2010 2:39:19 AM
> Subject: Re: [gpaw-users] installation of gpaw
>
> Hi,
>
> let's continue on gpaw-users. The information is useful to the others.
>
> Boris Averkiev wrote:
>
>> Dear Marcin,
>>
>> Thank you very much for your reply.
>> Of course I have forgotten to uncomment settings in customize.py, so now they worked and now I didn't change config.py (I started everything from the very beginning).
>> Now I used gcc x86_64-suse-linux ver 4.1.2
>> Open MPI 1.4.1 and the same mkl - mkl/10.2.5.035
>>
>> I didn't use any blas/lapack to build numpy - it compiled without them.
>> So, should I reinstall NumPy with MKL?
>>
>>
> i would say that is tricky to have both numpy and gpaw-python linked to
> non-standard blas/lapack.
> As a first try it's USUALLY better to have numpy built with it's
> internal defaults.
> You may consider downloading the file
> https://svn.fysik.dtu.dk/projects/gpaw/trunk/gpaw/test/numpy_zdotc_graphite.py
> and run it with gpaw-python.
> If it crashes you have some problems with blas/lapack.
>
>
>> I also set scalapack = False in customize.py, as you said.
>> Now after command "python setup.py build_ext 2>&1 | tee build_ext.log" I've got
>> * Scientific is not installed.
>> You will not be able to write and read wave functions
>> in the netCDF format.
>> * Using standard lapack
>> * Architecture: linux-x86_64
>> * Building a custom interpreter
>> So, it doesn't say anything about "Only a serial version of gpaw was built!"
>> But gpaw-test still fails with the same output.
>>
>>
> lines such:
>
> MKL ERROR: Parameter 5 was incorrect on entry to ZHEEV
> 0.036 OK
>
> suggest that you may have a mismatch in numpy's and gpaw-python
> libraries, however:
>
> *** libmkl_mc.so *** failed with error : /soft/intel/mkl/10.2.5.035/lib/em64t/libmkl_mc.so: undefined symbol: mkl_dft_commit_descriptor_s_c2c_md_omp
> *** libmkl_def.so *** failed with error : /soft/intel/mkl/10.2.5.035/lib/em64t/libmkl_def.so: undefined symbol: mkl_dft_commit_descriptor_s_c2c_md_omp
> MKL FATAL ERROR: Cannot load neither libmkl_mc.so nor libmkl_def.so
>
> shows that linking is not correct. I think you should follow the intel
> link advisor to find the correct linking.
> Start with the minimum recommended, if you use gcc:
> "-L$MKLPATH $MKLPATH/libmkl_solver_lp64_sequential.a -Wl,--start-group
> -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread"
> which translates probably eventually to (strangely): ['mkl_intel_lp64',
> 'mkl_sequential', 'mkl_core', 'guide', 'mkl_lapack', 'mkl_def']
>
>
>> May be I should also install SciPy?
>>
>>
> you can do it later if you find that you need it (some new gpaw
> functionality like vdw, response(? i think) needs it).
>
>> Also during building it has messages like
>> c/libxc/src/work_lda.c: In function âwork_ldaâ:
>> c/libxc/src/lda_c_pw.c:125: warning: âvcpâ may be used uninitialized in this function
>> c/libxc/src/lda_c_pw.c:125: warning: âdalphaâ may be used uninitialized in this function
>> c/libxc/src/lda_c_pw.c:125: warning: âd2alphaâ may be used uninitialized in this function
>>
>>
>> c/libxc/src/work_gga_x.c:46: warning: âldfdxâ may be used uninitialized in this function
>>
>> c/libxc/src/gga_xc_hcth.c:203: warning: initialization from incompatible pointer type
>>
>>
> for the moment ignore this.
>
> Marcin
>
>> Thank you
>>
>> Boris
>>
>>
>>
>> --- On Tue, 5/18/10, Marcin Dulak <Marcin.Dulak at fysik.dtu.dk> wrote:
>>
>>
>>
>>> From: Marcin Dulak <Marcin.Dulak at fysik.dtu.dk>
>>> Subject: Re: [gpaw-users] installation of gpaw
>>> To: "Boris Averkiev" <averkiev75 at yahoo.com>
>>> Cc: gpaw-users at listserv.fysik.dtu.dk
>>> Date: Tuesday, May 18, 2010, 11:25 PM
>>> Hi,
>>>
>>> Boris Averkiev wrote:
>>>
>>>
>>>> I am trying to install gpaw on cluster in my home
>>>>
>>>>
>>> directory (I am just user, not administrator). As it is
>>> written in manual, I first did Custom installation
>>>
>>>
>>>> I installed NumPy - numpy-1.3.0 in my home
>>>>
>>>>
>>> directory
>>>
>>>
>>>>
>>>>
>>>>
>>> what blas/lapack did you use to build numpy?
>>>
>>>
>>>> Also I installed ASE - python-ase-3.3.1.1390
>>>> We have blas and lapac libraries in MKL, so I
>>>>
>>>>
>>> specified the path to these libraries in customize.py
>>>
>>>
>>>> #library_dirs =
>>>>
>>>>
>>> ['/soft/intel/mkl/10.2.5.035/lib/em64t']
>>>
>>>
>>>> And libraries themselves
>>>> #libraries = ['mkl_lapack', 'mkl_intel_thread',
>>>>
>>>>
>>> 'mkl_def', 'mkl-mc', 'mkl_core', 'guide', 'mkl_intel_ilp64',
>>> 'mkl_blas95_ilp64']
>>>
>>>
>>>> However, it didn’t work. When I run “python
>>>>
>>>>
>>> setup.py build_ext 2>&1 | tee build_ext.log”
>>> command, I got error “cannot find -lblas”, so I changed
>>> all “blas” to “mkl_blas95_ilp64” and all
>>> “lapack” to “mkl_lapack” in config.py. After that it
>>> compiled, however it also gave the following message:
>>>
>>>
>>>>
>>>>
>>>>
>>> there is no need to change config.py (it should not be
>>> changed), are you sure that your settings in customize.py
>>> are uncommented (I see # in front of the variables)?
>>> Every time you compile please run `python setup.py clean`
>>> (or just remove the build directory).
>>> Linking with mkl is tricky: i would start with a guess at
>>> http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/,
>>> and then search for missing symbols using nm (for
>>> undefined reference to symbol_ use: nm
>>> /soft/intel/mkl/10.2.5.035/lib/em64t/lib*.so | grep "T
>>> symbol_")
>>> Please also set scalapack = False in customize.py first.
>>>
>>>
>>>> * Scientific is not installed.
>>>> You will not be able to write and
>>>>
>>>>
>>> read wave functions
>>>
>>>
>>>> in the netCDF format.
>>>> * Using standard mkl_lapack
>>>> * Compiling with ScaLapack
>>>> * Architecture: linux-x86_64
>>>> * Only a serial version of gpaw was built!
>>>>
>>>> We have MPI - intel mpi, but I don't know how should I
>>>>
>>>>
>>> specify it.
>>>
>>>
>>>>
>>>>
>>>>
>>> let's get the serial version working first.
>>>
>>> Best regards,
>>>
>>> Marcin
>>>
>>>
>>>> When I run test gpaw-test 2>&1 | tee test.log
>>>> it fails. I have attached the test.log file
>>>> Information about cluster - SGI Altix XE 1300 Linux
>>>>
>>>>
>>> Cluster
>>>
>>>
>>>> Could you help me to resolve those problems?
>>>> Thank you
>>>> Boris
>>>>
>>>>
>>>>
>>>>
>>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>>> _______________________________________________
>>>> gpaw-users mailing list
>>>> gpaw-users at listserv.fysik.dtu.dk
>>>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>>>>
>>>>
>>> -- ***********************************
>>>
>>> Marcin Dulak
>>> Technical University of Denmark
>>> Department of Physics
>>> Building 307, Room 229
>>> DK-2800 Kongens Lyngby
>>> Denmark
>>> Tel.: (+45) 4525 3157
>>> Fax.: (+45) 4593 2399
>>> email: Marcin.Dulak at fysik.dtu.dk
>>>
>>> ***********************************
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
--
***********************************
Marcin Dulak
Technical University of Denmark
Department of Physics
Building 307, Room 229
DK-2800 Kongens Lyngby
Denmark
Tel.: (+45) 4525 3157
Fax.: (+45) 4593 2399
email: Marcin.Dulak at fysik.dtu.dk
***********************************
More information about the gpaw-users
mailing list