在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台服务器的目录结构如下 ...
随机推荐
- 浅谈Java-String到底是值传递还是引用传递?
参数传递 Java 中的参数传递分为 "值传递""引用传递" 如果你学过 C/C++应该很好理解,就是所谓的 "值传递" 和 "指 ...
- Flutter异步与线程详解
一:前言 - 关于多线程与异步 关于 Dart,我相信大家都知道Dart是一门单线程语言,这里说的单线程并不是说Dart没有或着不能使用多线程,而是Dart的所有API默认情况下都是单线程的.但大家也 ...
- 【拖拽可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
"整篇文章较长,干货很多!建议收藏后,分章节阅读." 一.设计方案 整体设计方案思维导图: 整篇文章,也将按照这个结构来讲解. 若有重点关注部分,可点击章节目录直接跳转! 二.项目 ...
- Linux下切换root用户提示Authentication failure错误的解决方法(亲测有效)
第一种情况可能是root密码输入错误造成的,再仔细检查一遍是否输入错误 第二种是刚安装完,没有设置root用户密码导致的,我的就是最小化安装,就会出现这种小问题 解决办法:sudo passwd 然后 ...
- 聊聊FLINK-25631贡献
从入行做数据库开发,到2018年过渡到大数据开发,可以说我已经与sql朝夕相处了七八年了,经常惊讶于简单的语法就能产生复杂的操作,而且还能根据索引等统计信息自动优化,不禁很想实现自己的sql语法,却不 ...
- Docker搭建大数据集群 Hadoop Spark HBase Hive Zookeeper Scala
Docker搭建大数据集群 给出一个完全分布式hadoop+spark集群搭建完整文档,从环境准备(包括机器名,ip映射步骤,ssh免密,Java等)开始,包括zookeeper,hadoop,hiv ...
- JZOJ5384. 【NOIP2017提高A组模拟9.23】四维世界
题目 Description 众所周知,我们常感受的世界是三维的. Polycarp突然对四维空间产生了兴趣,他想对四维空间进行一些研究.但是在此之前,他必须先对三维世界了解透彻. 于是Polycar ...
- 物联网lora无线数传模块应用案例:LoRawan网关通信技术
什么是LoRa LoRa(Long Range) 无线通信技术是 Semtech 在2012年开发出来的一款适合物联网使用的射频IC.其设计理念为低功耗.长距离.低成本.网路简单.易于扩展的无线数传技 ...
- python:selenium测试登录在chrome中闪退
问题描述:使用selenium.webdriver时测试网页,进行自动登录测试总是在登录成功时闪退.使用指定驱动器位置的方式chrome也会闪退 1.正常使用chrome驱动打开一个网页,正常访问 f ...
- 什么是工业仿真?工业3D仿真有什么样的市场价值?
什么是工业仿真? 工业仿真是对实体工业的一种虚拟,它将实体工业中的各个模块转化成数据整合到一个虚拟的体系中去.这个体系会模拟现实工业作业中的每一项工作和流程,并与之实现各种交互. 工业仿真技术作为目前 ...