| 查看: 1960 | 回复: 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 ] |
» 猜你喜欢
河北省自然科学基金
已经有8人回复
西安交大新媒学院副院长用撤稿论文结题
已经有5人回复
论文撤稿了
已经有5人回复
某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路!
已经有5人回复
26/27申博自荐
已经有9人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有7人回复
揭秘青基评审内幕:几个A才能顺利中标
已经有4人回复
青B发送上会通知了吗
已经有7人回复
博士申请
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求mkl文档看下lunix下怎么调用lapack函数
已经有3人回复
【交流】Fortran语言答疑专帖
已经有157人回复

★
jjdg: 金币+1, 感谢交流经验 2012-10-17 00:52:51
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. |

2楼2012-10-16 17:26:16












回复此楼
10