在CentOS上安装MPI以及MPI入门编程笔记
一、准备工作
更新yum库
yum update
下载相关依赖包
yum install wget -y
yum install gcc gcc-c++ gcc-fortran kernel-devel -y
二、下载并安装mpi安装包
官网下载MPI 安装包(http://www.mpich.org/downloads/ )
1、新建下载目录
mkdir /mpich-install
2、解压
tar -zxvf mpich-4.0.2.tar.gz
3、进入目录并编译安装
cd mpich-4.0.2/
./configure --prefix=/mpich-install --with-device=ch4:ofi 2>&1 | tee c.txt ------------ps:下边两步要运行很久,可以泡杯咖啡休息等待哦-----------
make
make install
三、配置环境
1、编辑环境变量
vim ~/.bashrc
在最底层添加:
export MPICH=/mpich-install
export PATH=$MPICH/bin:$PATH
令环境变量生效
source ~/.bashrc
2、检查安装情况
mpirun -versions

四、MPI入门编程笔记
1、第一个MPI编程小程序
vim hw.c
#include <stdio.h>
#include "mpi.h"
int main(int argc, char **argv)
{
int myrank,nprocs,len;
MPI_Status status; //状态
char Processorname[20]; MPI_Init(&argc,&argv); //初始化MPI并行环境
MPI_Comm_size(MPI_COMM_WORLD, &nprocs); //nprocs返回进程个数
MPI_Comm_rank(MPI_COMM_WORLD,&myrank); //myrank返回进程号(从0开始) MPI_Get_processor_name(Processorname, &len); //返回机器名字和名字长度
printf("Hello world! Process %d of %d on %s.\n",myrank,nprocs,Processorname);
MPI_Finalize(); //终止MPI处理 }
2、在同一台机器上编译运行
方法一:
编译(会生成一个a.out文件)
mpicc hw.c
运行
./a.out
方法二:
编译(会生成一个hw可运行文件)
mpicc -o hw hw.c
运行
mpirun ./hw
也可以指定进程数运行
mpirun -np 4 ./hw

3、在同一台机器上编译运行
首先要保证hw.c是在共享目录下("相同目录"不会的翻看我之前的NFS文件挂载)
正常编译即可
mpirun -np 8 -hosts david,client1,client2 ./hw
在三台机器上的运行结果:
在CentOS上安装MPI以及MPI入门编程笔记的更多相关文章
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
- CentOS上安装Node.js
CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区 作者:maskdfe [字体:大 中 小] CentOS上安装Node.js(想在Linux上学习No ...
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...
- 在CentOS上安装rabbitmq-server
***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...
- CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH
CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...
- 如何在centos上安装epel源
一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...
- 在Centos上安装RabbitMQ流程(转)
在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...
- 在CentOS上安装ZooKeeper集群
一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...
随机推荐
- 关于div及display
1.DIV div被看作是一个盒子,可以设置width.height.这个盒子其实是由三部分构成width(height).padding.border.在默认情况下,所见到的div是border和p ...
- 【软件构造】Mutable类型与Immutable类型
[软件构造]Mutable类型与Immutable类型 1.前言 在软件构造这门课中,对mutable类型和immutable类型的深入理解,有助于后续ADT.可维护性.可复用性的学习,因此我们有必要 ...
- 手脱PESpin壳【06.exe】
1.查壳 2.LoradPE工具检查 一方面可以用LoradPE工具查看重定位,另一方面也可获取一些详细信息 3.查找OEP ①未发现pushad 开始未发现pushad,进行单步步入,很快就能找到p ...
- 通过Go实现AES加密和解密工具
本文包含如下两个内容: AES加密介绍及实现原理 Go实现AES加密和解密工具 AES加密介绍及实现原理 AES( advanced encryption standard)使用相同密钥进行加密和解密 ...
- zabbix 1.1
1.zabbix监控平台 2.zabbix的三部分组件: Zabbix server 是 Zabbix软件的核心组件,agent 向其报告可用性.系统完整性信息和统计信息.server也是存 ...
- vue项目引入TinyMCE
1.安装 npm install @tinymce/tinymce-vue@3.0.1 -S 2.配置 <template> <!-- 富文本 --> <div> ...
- 485. Max Consecutive Ones - LeetCode
Question 485. Max Consecutive Ones Solution 题目大意:给一个数组,取连续1的最大长度 思路:遍历数组,连续1就加1,取最大 Java实现: public i ...
- linux篇-Centos7jdk安装
2.1查看现有JDK #rpm -qa|grep jdk (如果有其他版本的JDK建议卸载) 卸载其他版本的JDK命令 #yum –y remove java-1.6.0 #yum –y remov ...
- Spring IOC源码研究笔记(2)——ApplicationContext系列
1. Spring IOC源码研究笔记(2)--ApplicationContext系列 1.1. 继承关系 非web环境下,一般来说常用的就两类ApplicationContext: 配置形式为XM ...
- 「Java分享客栈」Nacos配置中心称王称霸,我Apollo一生也不弱于人!
前言 Apollo又称阿波罗配置中心,在前两年还是挺火的,但阿里SpringCloud套件席卷国内之后,nacos就成为了最被亲睐的分布式配置中心,nacos是配置中心和注册中心二合一的产品,单纯功能 ...