高性能计算

第一个mpi程序in linux

2008年10月17日 阅读(270)

1.安装linux系统
选择在vmware上安装,这里在进行磁盘分区的时候,如果选择手动,可能出现如下提示:
"没有定义根文件系统,请回到分区菜单以修正此错误"
意思是我们需要建立一个分区,使他挂载在根文件系统里,只要将分区挂载点选择为:"/" 即可。
在这里,我建立了一个"/"分区,和一个swap分区。

有时候安装完毕,显示的屏幕区域只有一部分,小于应该显示的空间,这时需要调整屏幕分辨率,对于ubuntu-804来说,设置包含在首选项里
另外装完了,记得把.iso文件从cd-rom拿出来,否则启动就停在启动条那了

2.下载mpich,及支持软件安装
我是在http://download.chinaunix.net/download.php?id=14154&ResourceID=7023 上下的
如果你的linux系统上没有,ssh 或者 rsh,对于msi2默认使用rsh,对于msi2默认使用ssh,需要先下载安装这两个中的一个
因为是在vmware上装的 linux,也没有配置网络,就先在windows上下好了,然后用UltraISO做成 *.iso格式的,用光驱实现共享。
另外下载的源码包,需要build-enstial的支持,这个在安装光盘里就有,安装完 linux系统后,可以通过源管理器把安装光盘设为源(记得进入系统后把iso文件重新插入cd-rom)。apt-get install build-essential就会把 g++,gcc这些装上

3.安装mpich
我采用的是1.2.7版本的mpich:
$ tar xzvf mpich-1.2.7.tar.gz
$ cd mpich-1.2.7
  
$ ./configure {–prefix=/usr/local/mpich(可以用来指定安装目录) -rsh=ssh(注意这个地方,如果是mpich1,且你的系统中只有ssh,没有rsh,需要加上这句)}
$ make
$ make install

注意,make install时可能没有权限,这时需要换sudo make install试试,因为有一个文件夹www要安装到/usr/local下面,需要root权限才行

4.设置环境变量
进入/etc,编辑profile文件:sudo vim /etc/profile
添加如下内容:
export MPI_ROOT=/usr/local/mpich-gcc (mpich的安装位置)
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/man:$MANPATH
保存退出,执行source profile使她生效。

注意:我在设置的时候把冒号全写错了,写成了分号";",导致其他命令都不能用了,。。。看了以后还是得先做好备份,我又重装了一下系统,。。。。。。

5.修改配置文件

5.1.权限设置
为了能够在多个不同的机器上运行MPI程序,首先需要其它机器对启动MPI程序的机器放权,
pc01
单机内此账户登陆无需授权,如果/etc/hosts.equiv文件不存在,则需要先创建该文件。

5.2.主机设置

要使MPI程序启动后能够在多个主机上并行执行,还必须对可用的主机进行设置,相应的配置文件为/usr/local/share/machines.LINUX。
编辑该文件,在每一行写上可用的机器名。例如,只要在该文件中添加以下几行:
pc01
pc02
pc03

如果是单节点的话,不同的行可以写相同的节点。

6.编写程序

如前:第一个mpi程序in windows所试

7.编译运行
$mpicc -o hello hello.c
$ mpirun -np 4 hello

 

本地编程,第5步可以先不进行配置

 

You Might Also Like