24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1945  |  回复: 1

田山东

捐助贵宾 (著名写手)

[交流] mkl已装好,这样调用为什么不行呢?

今天刚装好了mkl,,安装路径在:/opt/intel/mkl/10.0.4.023/lib/em64t,在论坛上看到了怎么去调用mkl,怎么把路径加到里面,我有个程序,是这么调用的:

gfortran 222bylag.f -L/opt/intel/mkl/10.0.4.023/lib/em64t -lmkl_lapack -lguide -lmkl
出错信息:
/opt/intel/mkl/10.0.4.023/lib/em64t/libguide.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status

我现在打开em64t,发现有这些文件:

libguide.a                       libmkl_intel_ilp64.so
libguide.so                      libmkl_intel_lp64.a
libiomp5.a                       libmkl_intel_lp64.so
libiomp5.so                      libmkl_intel_sp2dp.a
libmkl.so                        libmkl_intel_sp2dp.so
libmkl_blacs_ilp64.a             libmkl_intel_thread.a
libmkl_blacs_intelmpi20_ilp64.a  libmkl_intel_thread.so
libmkl_blacs_intelmpi20_lp64.a   libmkl_lapack.a
libmkl_blacs_intelmpi_ilp64.a    libmkl_lapack.so
libmkl_blacs_intelmpi_lp64.a     libmkl_mc.so
libmkl_blacs_lp64.a              libmkl_p4n.so
libmkl_blacs_openmpi_ilp64.a     libmkl_scalapack.a
libmkl_blacs_openmpi_lp64.a      libmkl_scalapack_ilp64.a
libmkl_cdft.a                    libmkl_scalapack_lp64.a
libmkl_cdft_core.a               libmkl_sequential.a
libmkl_core.a                    libmkl_sequential.so
libmkl_core.so                   libmkl_solver.a
libmkl_def.so                    libmkl_solver_ilp64.a
libmkl_em64t.a                   libmkl_solver_ilp64_sequential.a
libmkl_gf_ilp64.a                libmkl_solver_lp64.a
libmkl_gf_ilp64.so               libmkl_solver_lp64_sequential.a
libmkl_gf_lp64.a                 libmkl_vml_def.so
libmkl_gf_lp64.so                libmkl_vml_mc.so
libmkl_gnu_thread.a              libmkl_vml_mc2.so
libmkl_gnu_thread.so             libmkl_vml_p4n.so
libmkl_intel_ilp64.a

我到底该用哪个呢?
我这样调用可以不可以呢?

[ Last edited by 田山东 on 2012-10-16 at 15:00 ]
回复此楼
everythinghasitsseason.enjoyyourlife.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)


jjdg: 金币+1, 感谢交流经验 2012-10-17 00:52:51
问题已解决:
在最后加个符号:-lpthread,变成:
gfortran 222bylag.f -L/opt/intel/mkl/10.0.4.023/lib/em64t -lmkl_lapack -lguide -lmkl  -lpthread
这样之后产生一个a.out文件,就可以了。为什么会这样呢?
摘自:http://hi.baidu.com/ectuwnolwubekrq/item/a60f73c9784c5829ee4665c8
帖子内容如下:
undefined reference to `mkl_serv_load_fun'Hi,

pls how do i link my program (called solve.f) with intel's lapack. i already tried but i get errors:

ifort -g -o solve solve.o -L/usr/local/intel101/mkl/lib/em64t/ -lmkl_lapack -lmkl_em64t -lguide
/usr/local/intel101/mkl/lib/em64t//libmkl_lapack.so: undefined reference to `mkl_serv_load_fun'
/usr/local/intel101/mkl/lib/em64t//libguide.so: undefined reference to `pthread_atfork'
/usr/local/intel101/mkl/lib/em64t//libmkl_lapack.so: undefined reference to `mkl_serv_load_dll'
make: *** [solve] Error 1

what am i doing wrong? the code is sequential.

thanks for any help.
###############################
One problem is that you are linking the static library mkl_em64t which redefines symbols already contained in the dynamic libraries specified (since MKL 10.0) in mkl_lapack. The docs warn against combinations of static and dynamic libraries. Another is that you haven't specified -lpthread. When linking, the ifort options -openmp or -parallel will take care of both -lguide and -lpthread. There's no harm in setting -openmp to get the OpenMP libraries, even at compile time, even when you have no use of OpenMP in your code, if that's what you mean by sequential.
If you want the mkl_sequential library, don't use the combination "library" mkl_lapack or libguide, instead use for example -lmkl_intel_lp64 -lmkl_core -lmkl_sequential. If there is a missing reference to pthread_atfork, add -lpthread.
everythinghasitsseason.enjoyyourlife.
2楼2012-10-16 17:26:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 田山东 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 学硕化学工程与技术,一志愿中国海洋大学320+求调剂 +7 披星河 2026-04-02 7/350 2026-04-02 13:48 by 星空星月
[考研] 266求调剂 +4 学员97LZgn 2026-04-02 4/200 2026-04-02 13:03 by yulian1987
[考研] 270求调剂 +8 小杰pp 2026-03-31 10/500 2026-04-02 12:57 by yulian1987
[考研] 一志愿北京科技材料科学与工程288分,求调剂 +9 是辰啊 2026-04-02 9/450 2026-04-02 12:01 by 1753564080
[考研] 329求调剂 +8 miaodesi 2026-04-02 10/500 2026-04-02 10:24 by 不吃魚的貓
[考研] 311求调剂 +16 zchqwer 2026-04-01 18/900 2026-04-02 10:15 by 不吃魚的貓
[考研] 321求调剂 +9 y-yh 2026-04-01 10/500 2026-04-02 10:14 by 不吃魚的貓
[考博] 26年申博 +3 staryer 2026-03-30 4/200 2026-04-01 23:21 by ai4pharm
[考研] 求调剂 +4 图鉴212 2026-03-30 5/250 2026-04-01 15:32 by 图鉴212
[考研] 349求调剂 +6 zwjjjjjj 2026-03-31 6/300 2026-04-01 09:16 by JourneyLucky
[考研] 335求调剂 +3 321* 2026-03-31 4/200 2026-04-01 00:00 by 321*
[考研] 289求调剂 +7 BrightLL 2026-03-29 7/350 2026-03-31 22:05 by 544594351
[考研] 一志愿a区211,085601-307分求调剂 +10 党嘉豪 2026-03-31 23/1150 2026-03-31 18:44 by JourneyLucky
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +6 小小机灵虫 2026-03-29 12/600 2026-03-31 16:58 by 记事本2026
[考研] 一志愿中海洋材料357 +4 麦恩莉. 2026-03-30 4/200 2026-03-31 14:35 by 记事本2026
[考研] 一志愿浙江大学工科动力工程370,数一121,专业课135,现在能去哪里 +3 080700调剂 2026-03-30 4/200 2026-03-31 12:00 by KLMY666
[考研] 274求调剂 +6 xiao爱同学 2026-03-30 6/300 2026-03-31 10:04 by cal0306
[考研] 332求调剂 +6 @MZB382400 2026-03-28 6/300 2026-03-30 16:57 by 无际的草原
[考研] 272求调剂 +7 脚滑的守法公民 2026-03-27 7/350 2026-03-27 17:23 by laoshidan
[考研] 305求调剂 +5 哇卢卡库 2026-03-26 5/250 2026-03-27 14:01 by laoshidan
信息提示
请填处理意见