Ubuntu+Open MPI+SSH小集群简易配置

4 篇文章 1 订阅
1 篇文章 0 订阅

为了完成课程作业,笔者致力于寻找最简捷的配置方式。目的是连接三个节点运行简单的MPI程序。

参考资料:https://www.open-mpi.orghttps://blog.csdn.net/kongxx/article/details/52227572

各节点初始化

为了方便后续的SSH连接,这里设置所有节点具有相同的username(因为 ssh IP等价于 ssh $USER@IP) 。关于新建用户的部分请参考https://blog.csdn.net/silent56_th/article/details/80033636

一个方便后续输入的可选操作是:在各个节点中通过修改/etc/hosts为其他节点的IP地址映射一个名称,用于指代。

节点间免密码SSH连接

详情参考:https://blog.csdn.net/kongxx/article/details/47046817

简单的说,是节点A用例如RSA的算法生成了公私钥做身份认证,节点B通过记录节点A的公钥,对节点A进行授权。授权完成后,节点A可以不需要密码直接访问节点B。

理论上只需要其他节点对主节点做授权,笔者为了防止bug,对所有节点之间均做了授权。

Open MPI简介与编译

关于MPI以及Open MPI的简介详见:https://www.open-mpi.org/video/?category=general

简单的说是MPI为协议,Open MPI是具体实现。

关于Open MPI的编译详见:https://www.open-mpi.org/faq/?category=building#easy-build

简易步骤为:下载解压–>configure(--prefix用于指定安装位置)–> sudo make all install

笔者直接将Open MPI安装到系统中,所以 --prefix=/user/local,后续也无需设置PATH等系统参数;否则需要将相应位置的bin以及lib路径加入到 $PATH$LD_LIBRARY_PATH中(可以通过 .bashrc设置)

编译与运行代码

mpicc命令和 gcc/cc使用方法相似,简单操作是 mpicc <c_filename> -o <excutable_filename>

单节点执行: mpirun -np <processor_num> <filename>,其中-np指定处理器数目,第一个不可解释的字符串( <filename>)被看作可执行文件名称。

小集群执行: mpirun -np <processor_num> --hostfile <hostfile_name> <filename>,其中 <hostfile_name>内指定可用的节点IP地址与slot数。例如笔者的mpi-hosts文件为:

localhost   slots=2
slave1  slots=2
slave2  slots=2

其中localhost为本地节点,slave1/2是其他两个节点在主节点中的IP地址指代(于/etc/hosts中设置)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值