24小时热门版块排行榜    

查看: 2730  |  回复: 15

qianbj2006

木虫 (正式写手)

[求助] 编译vasp主程序时,makefile中的链接库选择问题

好不容易终于到了最后一步啦。
用的ifort+mkl+mpich2
编译vasp主程序时,教程中makefile的修改库文件如下:

128行 的  #BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4  -lpthread
修改为 BLAS=-L/opt/intel/mkl/9.1.023/lib/32 -lmkl_p4 -lsvml -lvml -lguide -lpthread
136行前加   #
145 行 的 #LAPACK= -lmkl_lapack
修改為LAPACK= -lmkl_lapack

LAPACK=-L/opt/intel/mkl/9.1.023/lib/32 -lmkl_lapack -lsvml -lvml -lguide –lpthread 也可以
但是在下用的是最新版本的ifort,路径/opt/intel/mkl/lib/intel64下没有这些库,只有这些库:
libmkl_avx.so                   libmkl_intel_sp2dp.so
libmkl_blacs_ilp64.a            libmkl_intel_thread.a
libmkl_blacs_intelmpi_ilp64.a   libmkl_intel_thread.so
libmkl_blacs_intelmpi_ilp64.so  libmkl_lapack95_ilp64.a
libmkl_blacs_intelmpi_lp64.a    libmkl_lapack95_lp64.a
libmkl_blacs_intelmpi_lp64.so   libmkl_mc3.so
libmkl_blacs_lp64.a             libmkl_mc.so
libmkl_blacs_openmpi_ilp64.a    libmkl_p4n.so
libmkl_blacs_openmpi_lp64.a     libmkl_pgi_thread.a
libmkl_blacs_sgimpt_ilp64.a     libmkl_pgi_thread.so
libmkl_blacs_sgimpt_lp64.a      libmkl_rt.so
libmkl_blas95_ilp64.a           libmkl_scalapack_ilp64.a
libmkl_blas95_lp64.a            libmkl_scalapack_ilp64.so
libmkl_cdft_core.a              libmkl_scalapack_lp64.a
libmkl_cdft_core.so             libmkl_scalapack_lp64.so
libmkl_core.a                   libmkl_sequential.a
libmkl_core.so                  libmkl_sequential.so
libmkl_def.so                   libmkl_solver_ilp64.a
libmkl_gf_ilp64.a               libmkl_solver_ilp64_sequential.a
libmkl_gf_ilp64.so              libmkl_solver_lp64.a
libmkl_gf_lp64.a                libmkl_solver_lp64_sequential.a
libmkl_gf_lp64.so               libmkl_vml_avx.so
libmkl_gnu_thread.a             libmkl_vml_def.so
libmkl_gnu_thread.so            libmkl_vml_mc2.so
libmkl_intel_ilp64.a            libmkl_vml_mc3.so
libmkl_intel_ilp64.so           libmkl_vml_mc.so
libmkl_intel_lp64.a             libmkl_vml_p4n.so
libmkl_intel_lp64.so            locale
libmkl_intel_sp2dp.a
求板上了解的,应该选哪些库呢?依据是什么?麻烦各位啦。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

绿遍山原

铜虫 (小有名气)

【答案】应助回帖


youzhizhe(金币+1): 谢谢交流。 2011-12-01 12:46:01
qianbj2006(金币+5): 谢谢你 2011-12-02 12:45:34
ifort12的mkl的blas和lapack路径可以直接写-L/path-to-mkl -mkl,编译器会自己链接。
要夢遊,不要催眠。
13楼2011-12-01 09:51:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

cavediger

金虫 (正式写手)

mkl需要另外安装
我们都老得太快,却聪明得太迟。当我一路跌跌撞撞登上山巅,蓦然发现,本来就有一条笔直的路,直达山顶....
2楼2011-11-29 22:48:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianbj2006

木虫 (正式写手)

引用回帖:
2楼: Originally posted by cavediger at 2011-11-29 22:48:42:
mkl需要另外安装

嗯,好的,我再确认一下啊。
安装ifort的时候,说明里面有说包含了mkl的,另外在编译vasp的lib文件时候就是指定了这个mkl的,编译成功了的。
这种情况还需要另外安装mkl吗?
3楼2011-11-30 09:08:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianbj2006

木虫 (正式写手)

引用回帖:
2楼: Originally posted by cavediger at 2011-11-29 22:48:42:
mkl需要另外安装

你好,我下了mkl的评估版(30天),安装时候显示已经安装了
--------------------------------------------------------------------------------
Initializing, please wait...
--------------------------------------------------------------------------------
The Intel(R) Math Kernel Library 10.3 Update 7 for Linux* is already installed.

If you want to reinstall the Intel(R) Math Kernel Library 10.3 Update 7 for
Linux*
please uninstall current version and run install script again.
--------------------------------------------------------------------------------
Press "Enter" key to quit:
之前的ifort也是免费非商业版的。没有指定的库文件是不是跟免费版有关?如果购买ifort大概需要多少钱?
4楼2011-11-30 10:20:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cavediger

金虫 (正式写手)

引用回帖:
3楼: Originally posted by qianbj2006 at 2011-11-30 09:08:25:
嗯,好的,我再确认一下啊。
安装ifort的时候,说明里面有说包含了mkl的,另外在编译vasp的lib文件时候就是指定了这个mkl的,编译成功了的。
这种情况还需要另外安装mkl吗?

vasp编好了说明需要的数学库不缺了,不需要再装了
但编好的VASP用的那个苦取决于你在makefile里的设置
我们都老得太快,却聪明得太迟。当我一路跌跌撞撞登上山巅,蓦然发现,本来就有一条笔直的路,直达山顶....
5楼2011-11-30 14:52:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cavediger

金虫 (正式写手)

引用回帖:
4楼: Originally posted by qianbj2006 at 2011-11-30 10:20:02:
你好,我下了mkl的评估版(30天),安装时候显示已经安装了
--------------------------------------------------------------------------------
Initializing, please wait...
--------------------------- ...

编译器是可以免费申请的,数学库是要钱的,你有第9版的MKL库,没必要再买的
我们都老得太快,却聪明得太迟。当我一路跌跌撞撞登上山巅,蓦然发现,本来就有一条笔直的路,直达山顶....
6楼2011-11-30 14:54:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abdoman

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
贺仪(金币+1): 多谢你的热心帮助 2011-11-30 20:47:12
youzhizhe(金币+2): 谢谢交流。 2011-12-01 12:45:29
问题很混乱啊。
1. 说明 linux下面的ifrot 和mkl 可以下载非商业版本。换句话说就是免费的。
2. vasp 的Makefile说得不好听一点,很垃圾。 里面的参数有如同无。我用2011新版的mkl 发现怎么也编译不过去,10.0版本的就可以。所以:建议就用9版的mkl。
3. 参数选择
  一般来说的话,带上普通的就行。
参考楼主的:
128行 的  #BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4  -lpthread
修改为 BLAS=-L/opt/intel/mkl/9.1.023/lib/32 -lmkl_p4 -lsvml -lvml -lguide -lpthread
疑问:
1。 楼主的机器是32位的吗?
2. 我的机器是64位,用的是em64t,(仅供参考)
BLAS1=-L/opt/intel/mkl/10.0.1.014/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm -liomp5 -lpthread
Youcompleteme.
7楼2011-11-30 15:33:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abdoman

木虫 (著名写手)

【答案】应助回帖

★ ★
fzx2008(金币+2): 多谢补充 2011-12-01 10:04:06
补充一点点:
楼主又提到/opt/intel/mkl/lib/intel64 下的库文件
请确认你的编译器版本,机器版本,
ifort -V
uname -a
由此,选择正确的库文件,(32位,64位)
Youcompleteme.
8楼2011-11-30 15:36:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianbj2006

木虫 (正式写手)

内容已删除
9楼2011-11-30 16:05:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianbj2006

木虫 (正式写手)

引用回帖:
8楼: Originally posted by abdoman at 2011-11-30 15:36:49:
补充一点点:
楼主又提到/opt/intel/mkl/lib/intel64 下的库文件
请确认你的编译器版本,机器版本,
ifort -V
uname -a
由此,选择正确的库文件,(32位,64位)

另外LAPACK的库该怎么选,请指点啊
10楼2011-11-30 16:05:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qianbj2006 的主题更新
信息提示
请填处理意见