`
worldterminator
  • 浏览: 28961 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

MPI在linux下的配置总结

阅读更多

网上有一篇文章写得很好,照着配置一直有问题,现在终于弄好了。把遇到的问题记录下来!

此文是由linux菜鸟 + mpi初学者原创,不对的地方请见指教!

 


在安装之前,先要把 节点 配置好!

1.在每台机器上配置hosts

打开 /etc/hosts

127.0.0.1       localhost.localdomain localhost  下面

加入


192.168.1.100 ubuntu2
192.168.1.101 ubuntu

ubuntu, ubuntu2 是计算机名字,通过命令 uname -n可以看到,最好每个节点起不同的名字。然后把 ip machinename写入就行了。

2.配置ssh

mpi 要求主机能无密码登录所有子机,按照网上的方法来就行了,

在主机上:

先 ssh-keygen -t  rsa 得到 id_rsa 和 id_rsa.pub

默认保存在 $HOME/.ssh/ 里,把 id_rsa.pub 复制一份叫authorized_keys。把$HOME/.ssh/ 所有的文件,复制到子机上用。

其实,这一步主要是把authorized_keys复制过去,让 id_rsa 能开启 id_rsa.pub 的锁。

主机ssh 所有子机2次。

 

 

如果第2次还要求输入密码,那么 ssh-agent 没开启或者id_rsa没有加入。

或者出现这个错误:Could not open a connection to your authentication agent

请:

ssh-agent bash

ssh-add id_rsa

 

期间如果遇到问题,重新做了一编,可能会遇到 ssh 说目标的密码更改,不让登录等等这样的问题,因为ssh记录了登录的情况,并放到了 $HOME/.ssh/known_hosts 里。把这个文件删除,或者 ssh-keygen -R,清除已知 ssh 就行了。

 

3.安装MPI

关于安装最好参照下载下来源码里的README。最好使用源码编译,所有机器的MPI最好是同一个版本,用同一种方法安装,安装在同一个地方!

 

以下几步在所有机器上分别进行。

最简单的是

./configure

make

make install

就行了

非默认安装得改以下PATH。

 

然后得在 $HOME/ 建个 .mpd.conf 的文件

填入:

MPD_SECRETWORD=xxxx

xxxx为mpd 的密码。

为这个文件加入权限:

chmod 600 .mpd.conf

用 ls -l .mpd.conf  可以看这个文件的权限,应该显示你的用户名。

如果发现显示是 root 那肯定是你用 sudo 建的,重新建个就行了。

 

mpd想要启动还得有个 mpd.hosts ,也放在 $HOME/

里面写入你所拥有的节点的计算机名字。

比如:

ubuntu, ubuntu2

 

4.检查和测试

做到这一步,基本就完成了。

mpd -n 2

如果成功,那太好了。写一个最简单的mpi程序,或者用examples里的 cpi测试,

mpiexec -n 2 cpi

然后就可以出现3.1415.......。

 

但是很有可能出现这个错误:

mpdboot_ubuntu (handle_mpd_output 420): from mpd on ubuntu2, invalid port info:
no_port

 

大部分原因都是ssh配置得不对,子机没有开机,子机和主机MPI安装的位置不一样,都会出现这个错误!

用 mpdcheck -f mpd.hosts -ssh

来检查错误。

我就因为主机是编译安装,子机是用deb包装的,而位置不一致运行mpdboot -n 2时总报错。

 

5.最后的一招

如果 mpdboot 总是失败,那么只有手动启动各个节点的mpd了。

在主机上先启动mpd: mpd&

然后mpdtrace -l

可以看到 ubuntu_45131 (192.168.1.101) 这样的字样。

这个45131就是主机mpd的端口


在子机上这样做

mpd -h ubuntu -p 45131

 

主机这时再mpdtrace 应该也可以看到子机也加入mpd环了。

 

6.关于mpiexec

mpiexec -n 后面的这个参数,网上有的说是机器数,显然不是,这个是要启动的进程数,至于怎么分配,我也没弄明白。

比如你有两台机器 mpiexec -n 4 cpi 那每台运行两个 cpi 的进程。

mpdboot -n 2 这个2是两个机器,而且不能超过在mpd.hosts里定义过的机器数量。

 

分享到:
评论

相关推荐

    Install FFTW3 with MPI on Linux

    总结来说,安装FFTW3与MPI结合使用的Linux环境需要对系统环境有所了解,并且需要按照库的编译和安装指南进行操作。对于希望在高性能计算中使用FFTW3进行快速傅里叶变换的用户来说,正确配置和编译FFTW3库以及MPI...

    使用MPI编译Linux平台下使用的并行SuperLU静态链接库

    总结来说,文章详细说明了在Linux环境下如何编译和安装MPI并行的SuperLU库,并提供了一套完整的操作流程和解决常见问题的方法。这些知识对于那些希望在Linux平台上进行高性能科学计算的开发者来说,是非常重要的。

    MPI的环境搭建C++编程

    如果你在Windows环境下使用Visual Studio(VC),配置MPI可能需要以下步骤: 1. **安装MSMPI**:从微软官网下载并安装MSMPI。 2. **配置项目设置**:在Visual Studio中创建新项目,选择“属性页” -> “配置属性” -...

    如何在ubuntu上设置MPI运行环境

    对于那些已经熟悉如何用C语言编写Markov Chain Monte Carlo (MCMC) 算法并希望将这些算法扩展到多核系统或HPC集群的开发者来说,以下步骤将指导您如何在Ubuntu操作系统上安装和配置MPI环境。 ##### 安装OpenMPI ...

    Windows环境下基于Eclipse的MPI编程环境配置

    总结,配置Windows环境下基于Eclipse的MPI编程环境涉及的主要步骤包括安装Eclipse、CDT插件、MinGW编译器和MPI实现,以及在Eclipse中设置相应的编译和运行环境。通过这样的配置,开发者可以在Windows下便捷地编写、...

    VS2008环境下mpi环境的配置

    本文详细介绍了如何在Visual Studio 2008环境下配置MPI环境。通过遵循上述步骤,开发者可以轻松地在VS2008中使用MPI进行并行编程。这对于初学者来说尤其有用,可以帮助他们快速入门并开始编写高性能的并行程序。随着...

    Intel MPI Library(Linux package) 机器学习 深度学习 百度云下载

    Intel MPI Library 在这种场景下发挥着重要作用: 1. **加速训练过程**:通过高效地分配任务和数据,可以在多台服务器之间进行并行训练,显著减少训练时间。 2. **扩展模型规模**:利用集群中的多个节点,可以处理...

    Centos下MPI并行计算环境的建立.pdf

    为了在 Centos 下建立 MPI 并行计算环境,需要进行一系列的配置和设置。本文将介绍如何在 Centos 下建立 MPI 并行计算环境的步骤。 一、配置前的准备工作 在开始配置 MPI 环境之前,需要进行一些准备工作。首先,...

    计算PI值的MPI实现及性能分析 实验报告

    // MPI初始化与通信设置 int i, rank, size, n = 1000000000; double x, pi, sum = 0, step = 1.0 / n; clock_t t = 0; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_...

    基于MPI实现埃拉托斯特尼筛法及性能优化实验报告.docx

    1. **MPI环境配置**: 在不同的操作系统环境下(如Windows和Linux)配置MPI开发环境。 2. **基础MPI版本埃拉托斯特尼筛法实现** (`sieve1`): 使用MPI编程实现埃拉托斯特尼筛法的基础版本,并通过实测数据绘制加速比...

    MPI并行程序设计

    - **Linux环境下MPICH安装步骤**: - **安装**:下载、编译、安装MPICH。 - **编译命令**:使用`mpicc`等编译器选项。 - **执行步骤**:设置环境变量、启动MPI进程等。 以上是对《MPI并行程序设计》中涉及的...

    Open MPI: Version 3.1

    9. **兼容性**:Open MPI 3.1与前一版本保持向后兼容,使得已经编译好的MPI程序可以在不修改的情况下运行在新版本上。 在实际使用中,你可以通过解压提供的`openmpi-3.1.0`压缩包,按照官方文档进行安装和配置。...

    MPI 并行程序设计

    - **安装配置**:在单机或多机环境下安装配置Linux和MPI的过程。 #### 二、矩阵并行计算 矩阵并行计算是并行计算的重要应用场景之一,本章节详细介绍了多种矩阵运算的并行算法。 - **矩阵相乘算法**:包括行列...

    Linux下集群系统的设计与实现.pdf

    总结来说,Linux集群系统的设计与实现涉及到网络架构设计、操作系统的选择与配置、关键组件如NFS、SSH和MPI的安装与调优,以及系统性能的测试与验证。这种系统不仅提供了高性能计算的能力,还具有成本效益,是应对...

    [资料包]ubuntu下MPICH2 集群的搭建

    【标题】"ubuntu下MPICH2 集群的搭建"是关于在Ubuntu操作系统中构建MPI(Message Passing Interface)集群的教程,特别是使用MPICH2实现。MPICH2是一个开源的MPI实现,允许多台计算机通过网络进行并行计算,是分布式...

    很实用Linux企业集群配置

    4. **应用程序兼容性**:运行在集群上的应用程序应能在不修改的情况下运行,理想情况下,应用程序不应察觉到其运行在集群环境中。尽管有些高级应用可能需要特定的集群接口(如MPI)来充分利用集群的并行计算能力。 ...

    一种Linux平台下校园网服务器集群实现方案.pdf

    总结来说,该文档讨论了一种基于Linux的校园网服务器集群实现方案,强调了集群技术在解决服务器管理和性能问题上的作用。通过集群,可以提升服务器的可用性、扩展性和性能,满足大量用户的需求。同时,文章也探讨了...

Global site tag (gtag.js) - Google Analytics