运行mpi报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行mpi报错相关的知识,希望对你有一定的参考价值。
(每个节点icc ifort编译器和 mpi都运行正常 a.out也在nfs贡享文件里每个节点都有)
mpirun -np 2 -machinefile ma -limf -lm ./a.out 运行这个之后 报一个错
mpirun: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory
求助
用文本编辑器打开个人主目录下面的.bashrc(~/.bashrc),
加入类似于下面的两行信息(第一行是icc的、第一行是ifort的)并保存:
source /etc/Intel_Compiler/10.0/XXXX/iccvars_intel64.sh
source /etc/Intel_Compiler/10.0/XXXX/ifortvars_intel64.sh
具体绝对路径需要根据你的运行环境中两个文件所在的位置作修改,
另外如果你使用的不是64而是32位程序,那么需要找到相应的.sh文件。 参考技术A 请lz参考http://lammps.sandia.gov/threads/msg20445.html
也许是 libimf库安装异常 参考技术B 应该是驱动的问题
mpi程序运行报错
通过yum直接安装mpi环境之后,发现会报错。具体报错内容如下,始终解决不了。
[[email protected] ~]# mpicc -o test ./test.c
./test.c: 在函数‘random_A_B’中:
第一个报错源码编译,源码安装可以参考我的博客的mpi环境安装
./test.c:24:11: 警告:忽略声明有 warn_unused_result 属性的‘scanf’的返回值 [-Wunused-result]
scanf("%f",&m);
^
./test.c:33:13: 警告:忽略声明有 warn_unused_result 属性的‘scanf’的返回值 [-Wunused-result]
scanf("%f",&m);
^
第二个报错可以通过加上 -lm参数解决
/usr/bin/ld: /tmp/ccUNaZrG.o: undefined reference to symbol ‘[email protected]@GLIBC_2.2.5‘
//usr/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: 错误:ld 返回 1
以上是关于运行mpi报错的主要内容,如果未能解决你的问题,请参考以下文章