博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一个mpi程序in linux
阅读量:2352 次
发布时间:2019-05-10

本文共 1521 字,大约阅读时间需要 5 分钟。

1.安装linux系统

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

有时候安装完毕,显示的屏幕区域只有一部分,小于应该显示的空间,这时需要调整屏幕分辨率,对于ubuntu-804来说,设置包含在首选项里

另外装完了,记得把.iso文件从cd-rom拿出来,否则启动就停在启动条那了

2.下载mpich,及支持软件安装

我是在 上下的
如果你的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步可以先不进行配置

转载地址:http://norvb.baihongyu.com/

你可能感兴趣的文章
超简单:Linux安装rar/unrar工具与解压到目录示例
查看>>
Eclipse创建Maven Java8 Web项目,并直接部署Tomcat
查看>>
Centos7:Docker安装Gitlab
查看>>
Kafka日志配置
查看>>
logstash 6.x 收集syslog日志
查看>>
信用卡反欺诈
查看>>
线性回归
查看>>
浏览器以只读方式打开PDF
查看>>
CDH和HDP下载地址
查看>>
MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0\x9D\x90\xB6"#...' for column
查看>>
.MysqlDataTruncation: Data truncation: Data too long for column 'content' at row 1
查看>>
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1146177 > 1048576).
查看>>
Elasticsearch 7.x生产配置
查看>>
AccessDeniedException: /opt/elasticsearch-7.0.0/config/elasticsearch.keystore
查看>>
bootstrap-table 父子表 联动表 完整例子
查看>>
Spring Cloud 2.x完整入门Demo样例(Greenwich版本)
查看>>
Spring Cloud 2.x学习笔记:2、feign改进(Greenwich版本)
查看>>
SpringCloud 2.x学习笔记:3、Hystrix(Greenwich版本)
查看>>
SpringCloud 2.x学习笔记:4、Zuul(Greenwich版本)
查看>>
ajax提交JSON数组及Springboot接收转换为list类
查看>>