linux下用mpi写c程序总是编译不了,求助

linux下用mpi写c程序总是编译不了,求助,第1张

看设置了,我的反正可以运行。\r\n不过 X 里面运行字符界面的程序有个问题就是 X 一般不会显示终端窗口,所以除非你的程序是窗口程序,不然什么显示都没有就运行完成退出了。 \r\n--------------\r\n有的 linux 有一个\\“在终端中运行”的项目,这个可以保留终端字符界面来显示。不过现在大部分都没有了。\r\n现在你似乎要么写界面,要么这个程序自己启动一个终端窗口来运行。

mpi或者openmp

这个,你指的是库?

如果是的话,编译时,加上链接库的编译选项就可以。

比如 gcc -hello.c -o hello -lm -lxml -L/usr/local/lib -lts

-lm 链接了math库

-lxml链接了xml库

-L/usr/local/lib -lts 链接了ts库,ts库存在目录/usr/local/lib中

1.4.1p1.tar.gz

2.然后解压,假设解压后的目录是/home/nh/Downloads/mpich2-1.4.1p1

3.nh@55ubuntu :~$ gcc --version

4.nh@55ubuntu:~$ g++ --version

5.nh@55ubuntu:~$ python --version

确认以上都已经安装了.

6.nh@55ubuntu:~$cd /home/nh/Downloads/mpich2-1.4.1p1

7.nh@55ubuntu:~/Downloads/mpich2-1.4.1p1$ ./configure --prefix /home/nh/Downloads/mpich2

8.nh@55ubuntu:~/Downloads/mpich2-1.4.1p1$ make

9.nh@55ubuntu:~/Downloads/mpich2-1.4.1p1$ make install

10.设置环境变量

添加下面这行到/etc/profile文件的最后,然后重新起动系统使环境变量永久生效。

export PATH=/home/nh/Downloads/mpich2/bin:$PATH

11. 添加mpd配置文件

在当前用户的home目录下面新建立一个名为".mpd.conf"的配置文件,文件的内容如下应该包括下面这行:

secretword=<secretword>

比如:

nh@55ubuntu:~$ more .mpd.conf

secretword=nh

<secretword>是你的密钥,是每台机器进行连接并用建立并行环境互相信任的基础。

接下来,需要设置该文件的存取权限,这步是必须的,否则在后面的运行中会报错。

nh@55ubuntu:$ sudo chmod 600 .mpd.conf

nh@55ubuntu:$ ls -ll .mpd.conf

-rw------- 1 zzm 1003 22 2010-01-07 13:54 .mpd.conf

12.在/home/nh/下新建一个文件名为hello.c,源代码如下:

#include <mpi.h>

#include <stdio.h>

int main(int argc, char *argv[])

{

int npes, myrank

MPI_Init(argc, argv)

MPI_Comm_size(MPI_COMM_WORLD, npes)

MPI_Comm_rank(MPI_COMM_WORLD, myrank)

printf("From process %d out of %d, Hello World!\n", myrank, npes)

MPI_Finalize()

}

13.nh@55ubuntu:~/Downloads/mpich2/bin$ ./mpicc -o /home/nh/hello /home/nh/hello.c

14.nh@55ubuntu:~/Downloads/mpich2/bin$ ./mpirun -np 2 /home/nh/hello

From process 0 out of 2, Hello World!

From process 1 out of 2, Hello World!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7112471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存