24小时热门版块排行榜    

CyRhmU.jpeg
查看: 818  |  回复: 8
当前主题已经存档。

405963512

铜虫 (正式写手)

[交流] 【求助】vasp 编译出错,请大家帮忙

我在编译vasp是,出现下面的错误
/home/fyu/intel/cmkl/10.1.2.024/lib/em64t/libmkl_lapack.so: undefined reference to `mkl_serv_load_fun'
/home/fyu/intel/cmkl/10.1.2.024/lib/em64t/libmkl_lapack.so: undefined reference to `mkl_serv_load_dll'

我贴一下makefile的一部分,我现在编的是串行:
# mkl.5.2 requires also to -lguide library
# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines
BLAS=-L/home/fyu/intel/cmkl/10.1.2.024/lib/em64t -lmkl_em64t -lguide -lpthread


# even faster Kazushige Goto's BLAS
# http://www.cs.utexas.edu/users/kgoto/signup_first.html
#BLAS= /home/fyu/GotoBLAS/libgoto_penrynp-r1.26.so

# LAPACK, simplest use vasp.4.lib/lapack_double
#LAPACK= ../vasp.4.lib/lapack_double.o

# use atlas optimized part of lapack
#LAPACK= ../vasp.4.lib/lapack_atlas.o  -llapack -lcblas

# use the mkl Intel lapack
LAPACK= -lmkl_lapack
有经验的请大家帮忙
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

veryman

木虫 (正式写手)

$_$

★ ★
405963512(金币+1,VIP+0): 1-20 08:51
ice_rain(金币+1,VIP+0):谢谢交流 1-20 13:25
感觉是你BLAS里面引用的mkl库不够全,推荐安装intel官方给出的来写makefile。
2楼2010-01-20 08:14:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

★ ★ ★ ★ ★
ice_rain(金币+3,VIP+0):谢谢指导交流 1-20 13:26
405963512(金币+2,VIP+0): 1-20 22:06
405963512(金币+5): 2010-01-30 11:05
引用回帖:
Originally posted by 405963512 at 2010-1-19 22:10:
我在编译vasp是,出现下面的错误
/home/fyu/intel/cmkl/10.1.2.024/lib/em64t/libmkl_lapack.so: undefined reference to `mkl_serv_load_fun'
/home/fyu/intel/cmkl/10.1.2.024/lib/em64t/libmkl_lapack.so: u ...

你的是64位系统?你使用的是64位数学库。建议你把你的机器及系统配置贴出来让大家都看看(数学库对此要求很严格)。
引用回帖:
Originally posted by 405963512 at 2010-1-19 22:10:
BLAS=-L/home/fyu/intel/cmkl/10.1.2.024/lib/em64t -lmkl_em64t -lguide -lpthread
LAPACK= -lmkl_lapack

你的MKL库不对。如果你是Intel的CPU,建议你用MKL;如果是你是AMD的CPU,则不建议你用MKL。你应该先知道你的系统配置是什么,然后把不适合你系统的数学库的代码屏蔽掉,只剩下你用的那些代码。很明显,你没有对代码做合适的屏蔽或选择,更没有根据你的机器配置合理选择库文件。
建议你先花上一天或者半天,好好看看代码、好好看看官方说明,这样可以避免很多无用功:http://cms.mpi.univie.ac.at/vasp/vasp/node12.html
同时参考Intel官方的指导,http://software.intel.com/en-us/ ... -intel-mkl-in-vasp/
建议你参考Intel的指导时,比对着你的数学库一个一个库文件试试。我就是这样做的。
另外,我贴上我的数学库设置,希望对你有用。
CODE:
# Atlas based libraries
#ATLASHOME= /usr/lib/blas/threaded-atlas
#BLAS=   -L/usr/lib/blas/atlas -lblas
#BLAS=   -L$(ATLASHOME)  -lf77blas -latlas

# use specific libraries (default library path points to other libraries)
#BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a

# use the mkl Intel libraries for p4 (www.intel.com)
BLAS= -L/opt/intel/mkl/10.2.2.025/lib/32 -lmkl_intel -lpthread -lmkl_sequential -lmkl_core

# LAPACK, simplest use vasp.4.lib/lapack_double
#LAPACK= ../vasp.4.lib/lapack_double.o

# use atlas optimized part of lapack
#LAPACK= ../vasp.4.lib/lapack_atlas.o  -llapack -lblas

# use the mkl Intel lapack
LAPACK= -L/opt/intel/mkl/10.2.2.025/lib/32 -lmkl_intel -lmkl_lapack -lmkl_sequential -lmkl_core

#LAPACK= -L/usr/lib/lapack/atlas -llapack

[ Last edited by gleerat on 2010-1-20 at 10:42 ]
明察、慎思、笃行
3楼2010-01-20 10:19:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhxd1028

禁虫 (小有名气)


ice_rain(金币+1,VIP+0):谢谢交流 1-20 13:26
本帖内容被屏蔽

4楼2010-01-20 10:40:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

405963512

铜虫 (正式写手)

引用回帖:
Originally posted by gleerat at 2010-1-20 10:19:

你的是64位系统?你使用的是64位数学库。建议你把你的机器及系统配置贴出来让大家都看看(数学库对此要求很严格)。

你的MKL库不对。如果你是Intel的CPU,建议你用MKL;如果是你是AMD的CPU,则不建议你用MKL ...

你说的很好啊,但是真的是有几个地方对不上,可能对编译程序了解的太少,你能把注意的点帮我列下么,谢谢你!
5楼2010-01-20 22:07:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ice_rain(金币+1,VIP+0):xiexie~ 1-21 11:17
aylayl08(金币+2,VIP+0):谢谢详细解答 1-21 14:31
引用回帖:
Originally posted by 405963512 at 2010-1-20 22:07:

你说的很好啊,但是真的是有几个地方对不上,可能对编译程序了解的太少,你能把注意的点帮我列下么,谢谢你!

最关键的地方当然就是数学库的设置了,可是你的机器环境到底是什么样我是一点都不知道啊。比如说CPU、系统版本。
你在设置数学库的时候,建议你先看看Makefile和官方的指导(安装部分),这样可以省很多无用功,如果你不看的话很多东西别人即使给你说你也是一头雾水。再参考Intel官方论坛对照你数学库中的库文件一个一个试试就好了,我就是这么试出来的。我的是Ubuntu9.10 x86、Intel P4、G++、GCC、GFortran、安装的是单机串行、你对照我的数学库看看思路就好了。数学库主要与CPU和系统位数(32/64)有关,其他的不是很关键。
祝你好运。
明察、慎思、笃行
6楼2010-01-21 11:12:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

405963512

铜虫 (正式写手)

引用回帖:
Originally posted by gleerat at 2010-1-21 11:12:

最关键的地方当然就是数学库的设置了,可是你的机器环境到底是什么样我是一点都不知道啊。比如说CPU、系统版本。
你在设置数学库的时候,建议你先看看Makefile和官方的指导(安装部分),这样可以省很多无用功 ...

大家好,我现在遇到了新的问题,希望大家帮忙。我按照上面朋友给的信息,适当修改,做了如下makefile:
BLAS=-L/home/fyu/intel/mkl/10.1.2.024/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread

# even faster Kazushige Goto's BLAS
# http://www.cs.utexas.edu/users/kgoto/signup_first.html
#BLAS=  /opt/libs/libgoto/libgoto_p4_512-r0.6.so

# LAPACK, simplest use vasp.4.lib/lapack_double
#LAPACK= ../vasp.4.lib/lapack_double.o

# use atlas optimized part of lapack
#LAPACK= ../vasp.4.lib/lapack_atlas.o  -llapack -lcblas

# use the mkl Intel lapack
LAPACK=-L/home/fyu/intel/mkl/10.1.2.024/lib/em64t -lmkl_intel_lp64 -lmkl_lapack -lmkl_sequential -lmkl_core
,make到最后,vasp出现,但是运行出错:
vasp: error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
我现在编译的是串行。64位Intel xeon,8核机器
我到网上查了一下,说是把文件link到lib文件夹下:
ln -s /home/fyu/intel/mkl/10.1.2.024/lib/em64t/libmkl_intel_lp64.so /lib/libmkl_intel_lp64.so
然后ldd bin/vasp,还是找不到这个文件:
ibmkl_intel_lp64.so => not found

请问大家问题出现在在哪了?谢谢大家!
7楼2010-01-21 21:46:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

405963512

铜虫 (正式写手)

引用回帖:
Originally posted by gleerat at 2010-01-20 10:19:35:

你的是64位系统?你使用的是64位数学库。建议你把你的机器及系统配置贴出来让大家都看看(数学库对此要求很严格)。

你的MKL库不对。如果你是Intel的CPU,建议你用MKL;如果是你是AMD的CPU,则不建议你用MKL ...

谢谢你的帮助,现在串行的已经装好。如果你安装了并行的,希望得到交流!
8楼2010-01-30 11:06:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lono75

铁杆木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ice_rain(金币+1):谢谢指导 2010-02-03 09:31
[root..#]
cd /etc/ld.so.config.d
touch MKL
vi MKL
home/fyu/intel/mkl/10.1.2.024/lib/em64t/

:qw
[root..#]ldconfig
由天命,成人事!
9楼2010-02-02 14:33:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 405963512 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见