[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