MPI hello world SSH 免密互联

news2024/11/26 22:19:00

目标:
我们想实现2台主机免密互联,将MPI Hello World跑起来
假设hostname是node01,node02,(Linux shell窗口一般是UserName@HostName,node1和node2一定要和HostName一样)
hostname是/etc/hosts中的配置,如下:
在这里插入图片描述

ssh node1
ssh node2

使用IP免密登录(用户名相同时,ssh+主机名;如果不同,登录方式就是 ssh+用户名@IP地址)
可以参考:https://help.ubuntu.com/community/MpichCluster

修改hosts文件

分别假如主机,修改/etc/hosts文件,保证两台主机的username一样,linux 窗口一般都会是UserName@HostName组成

sudo vi /etc/hosts
#然后添加
#注意一点是不要用127.0.0.1,自己本机还是用共IP如下
10.8.103.195 node1
10.8.100.30  node2

生成并拷贝密钥

cd 
cd .ssh
#生成密钥
ssh-keygen -t rsa

在.ssh/目录下,会新生成两个文件:id_rsa.pub和 id_rsa

互相上传公钥到目标机器

#机器node2
ssh-copy-id node1
#机器node1
ssh-copy-id node2

然后就可以互联啦。

然后,配置一个machinefile

node1:1
node2:2

如果出现下面错误

Host key verification failed.
[mpiexec@-d2004-20230516] ui_cmd_cb (mpiexec/pmiserv_pmci.c:51): Launch proxy failed.
[mpiexec@-d2004-20230516] HYDT_dmxu_poll_wait_for_event (lib/tools/demux/demux_poll.c:76): callback returned error status
[mpiexec@-d2004-20230516] HYD_pmci_wait_for_completion (mpiexec/pmiserv_pmci.c:173): error waiting for event
[mpiexec@-d2004-20230516] main (mpiexec/mpiexec.c:260): process manager error waiting for completion

大概率是上面node1/2和hostname没有一一对应起来导致的。

然后在两台机器创建相同的文件夹。并且挂载同一个sample

#命令行安装mpich
#或者源码安装到/usr,这样不会出现各种找不到文件的情况
#2台机器都要装
#或者可以一台机器装好,采用mount去挂载
sudo ./configure  --disable-fortran  --prefix=/usr/
sudo make 
sudo make install

$ sudo mount -t nfs 10.9.114.22:/workspace  /home/worspace
$ cd sample
$ mpirun  -n 2 -f /home/zhencheng.pace/eccl/mpich-4.2.1/build/bin/machinefile  ./mpi_hello_world

如果在单机上运行那么只要不加-f就可以了

#可以测试hostname是一个命令,可以用ls等
mpiexec -f machinefile  -n 2 hostname

$ mpiexec -n 4 ./mpi_hello_world
Hello world from processor enflame-d2004-20230516, rank 0 out of 4 processors
Hello world from processor enflame-d2004-20230516, rank 2 out of 4 processors
Hello world from processor enflame-d2004-20230516, rank 1 out of 4 processors
Hello world from processor enflame-d2004-20230516, rank 3 out of 4 processors

简化办法

如果mpi编译在自己文件夹下,那么可以通过下面的方式来

sudo ./configure  --disable-fortran  --prefix=/you/works/dir
sudo make -j12
sudo make install

export PATH=$PATH:/you/works/dir/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/you/works/dir/lib
#核心保证2台机器上都要有mpi所有的bin和so,并且在同一个目录下
mpiexec -f machinefile  -n 2 hostname

slave机器上挂载

sudo mount -t nfs 10.9.114.22:/workspace/mpi   /workspace/mp

MPI的原理就是在多台机器上(相同目录,相同username)上同时启动,用户只要在一台机器上启动,MPI自动在其它机器上启动
在这里插入图片描述

可能会出现下面错误相关问题在这里插入图片描述
可以设置环境变量:

env | grep FI_

export FI_LOG_LEVEL=debug
export FI_PROVIDER=tcp
export FI_SOCKETS_IFACE=lo

netstat -lpunt |grep -i 34116
IP

下面是libfabric的介绍:
https://blog.csdn.net/ssbandjl/article/details/133248887
其实最后的结果猜测是服务器IP端口设置的缘故,在本机回环测试通过也行
在这里插入图片描述
后来反复测试发现,原来是服务器A的mpiexec默认打开的是服务器B上的docker0的虚拟网卡,导致两台服务器无法通过tcp/udp通信,把docker服务关闭,docker0虚拟网卡关掉就可以了。

#关闭docker0
sudo ifconfig docker0 down  #up是打开

#关闭服务,只要关闭对端的就可以了
sudo service docker stop  #start

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/66715d8a10f141e9ad48415179939724.png

mpiexec -f hostfile  -iface eth0 -n 8 ./mpi_hello_world 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工地/矿区/电力/工厂/环卫视频智能安全监控反光衣AI检测算法的原理及场景应用

一、引言 随着科技的快速发展,特别是在智能交通和安全生产领域,对于夜间或弱光环境下的人员识别和安全监控需求日益凸显。反光衣作为一种重要的安全装备,被广泛应用于道路施工、工地作业、夜间巡逻、安全生产等场景,旨在提高人员的…

【CUDA】 矩阵乘法 matMatMul

矩阵乘法 matMatMul 矩阵乘法是基本线性代数子程序(BLAS)的重要组成部分,而且线性代数中许多其他操作以此为基础。 图1是两个矩阵的乘法。 基础方法,正方形tile和长方形tile 基础方法 执行矩阵乘法的基础方法是使用单个线程执…

2021-06-15 protues(ISIS)脉冲发生器仿真仪表使用

缘由这个脉冲发生器怎么连线_编程语言-CSDN问答

STM32智能交通管理系统教程

目录 引言环境准备智能交通管理系统基础代码实现:实现智能交通管理系统 4.1 数据采集模块 4.2 数据处理与分析 4.3 控制系统实现 4.4 用户界面与数据可视化应用场景:交通管理与优化问题解决方案与优化收尾与总结 1. 引言 智能交通管理系统利用STM32嵌…

【对顶堆 优先队列】295. 数据流的中位数

本文涉及知识点 对顶堆 优先队列 LeetCode295. 数据流的中位数 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 …

网络漏洞挖掘实测报告

关于作者:个人主页 网络漏洞挖掘实测报告 一、前言 网络漏洞挖掘是信息安全领域中至关重要的一环。通过挖掘和修复漏洞,可以有效地保护系统免受潜在的攻击和破坏。本报告旨在记录一次完整的网络漏洞挖掘实测过程,包括实施方法、过程、结果以…

免杀笔记 ----> ShellCode Loader !!!

学了那么久的前置知识,终于到了能上线的地方了!!! 不过这里还没到免杀的部分,距离bypass一众的杀毒软件还有很长的路要走!! 目录 1.ShellCode 2.ShellCode Loader的概念 3.可读可写可…

Android实现获取本机手机号码

和上次获取设备序列号一样,仍然是通过无障碍服务实现,在之前的代码基础上做了更新。代码和demo如下: package com.zwxuf.lib.devicehelper;import android.accessibilityservice.AccessibilityService; import android.app.Activity; import…

Java中使用arima预测未来数据

看着已经存在的曲线图数据,想预估下后面曲线图的数据。 import java.util.Vector;public class AR {double[] stdoriginalData{};int p;ARMAMath armamathnew ARMAMath();/*** AR模型* param stdoriginalData* param p //p为MA模型阶数*/public AR(double [] stdori…

Dungeonborne延迟高?降低Dungeonborne延迟的方法分享

Dungeonborne是Mithril Interactive开发并发行的一款沉浸式第一人称 PvPvE 地下城探险游戏。Dungeonborne的魅力并不仅仅在于战斗和冒险。游戏中的剧情设计同样引人入胜,每个NPC都有自己独特的故事和背景,玩家在与他们交流的过程中,不仅能了解…

Tomcat(+Servlet)笔记+代码

Tomcat安装和配置 安装在不含中文的路径,路径不能太长 Apache 官网👇 Apache Tomcat - Welcome! 配置部分 点击下图红框处,找到Tomcat安装位置 添加项目的文件 配好的话,红框这里有个猫 代码部分 新建jsp文件,里…

【码银送书第二十二期】《Python数据分析从入门到精通(第2版)》

💐大家好!我是码银~,欢迎关注💐: CSDN:码银 公众号:码银学编程 前言 🍀丛书说明:“软件开发视频大讲堂‘’丛书第1版于2008年8月出版,因其编写细腻、易学实用…

字符串函数5-9题(30 天 Pandas 挑战)

字符串函数 1. 相关知识点1.5 字符串的长度条件判断1.6 apply映射操作1.7 python大小写转换1.8 正则表达式匹配2.9 包含字符串查询 2. 题目2.5 无效的推文2.6 计算特殊奖金2.7 修复表中的名字2.8 查找拥有有效邮箱的用户2.9 患某种疾病的患者 1. 相关知识点 1.5 字符串的长度条…

Orangepi配合IIC驱动OLED屏幕

目录 一、OLED屏幕 二、Orangepi的IIC接口及OLED屏幕硬件接线 2.1 Orangepi的IIC接口: 2.2 Orangepi与OLED屏幕硬件接线: 三、wiringPi库示例代码 3.1 wiringPi库OLED屏幕示例代码: 3.2 OLED显示自己想要的字符: 一、OLED屏…

E2.【C语言】练习:static部分

#include <stdio.h> int sum(int a) {int c 0;static int b 3;c 1;b 2;return (a b c); } int main() {int i;int a 2;for (i 0; i < 5;i){printf("%d ", sum(a));} } 求执行结果 c是auto类变量(普通的局部变量)&#xff0c;自动产生&#xff0c…

第26篇 寻找最大数<一>

Q&#xff1a;如何设计一段汇编语言子程序并调用来寻找一组数中的最大数呢&#xff1f; A&#xff1a;基本原理&#xff1a;可以使用子程序LARGE实现找到列表中最大数的功能。主程序通过寄存器将列表的条目数和起始地址作为参数传递给子程序&#xff0c;子程序通过寄存器将最大…

qt 如果把像素点数据变成一个图片

1.概要 图像的本质是什么&#xff0c;就是一个个的像素点&#xff0c;对与显示器来说就是一个二维数组。无论多复杂的图片&#xff0c;对于显示器来说就是一个二维数组。 2.代码 #include "widget.h"#include <QApplication> #include <QImage> #incl…

Springboot学习之用EasyExcel4导入导出数据(基于MyBatisPlus)

一、POM依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><m…

Linux系统之安装Ninvaders太空入侵者小游戏

Linux系统之安装Ninvaders太空入侵者小游戏 一、Ninvaders小游戏介绍1.1 Ninvaders小游戏简介1.2 项目预览 二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍 三、检查系统镜像源3.1 检查系统镜像源3.2 更新软件列表 四、安装Ninvaders4.1 安装Ninvaders4.2 启动Ninvaders游戏…

Python酷库之旅-第三方库Pandas(004)

目录 一、用法精讲 5、pandas.DataFrame.to_csv函数 5-1、语法 5-2、参数 5-3、功能 5-4、返回值 5-5、说明 5-6、用法 5-6-1、代码示例 5-6-2、结果输出 6、pandas.read_fwf函数 6-1、语法 6-2、参数 6-3、功能 6-4、返回值 6-5、说明 6-6、用法 6-6-1、代码…