zoukankan      html  css  js  c++  java
  • MPI linux Ubuntu cluster 集群

    在局域网内安装mpi,并进行并行计算。MPICH3。

    下载源码:

    wget http://www.mpich.org/static/downloads/3.3.1/mpich-3.3.1.tar.gz
    
    tar -xzf mpich-3.3.1.tar.gz
    
    cd mpich-3.3.1
    
    mkdir build
    
    cd build
    
    ../configure --disable-fortran
    
    make 
    
    sudo make install

    修改主机名后需要重启。

    sudo vim /etc/hostname

    修改为 master 或 client0,client1等

    sudo vim /etc/hosts

    增加 192.*.*.* master

    也就是增加master的IP地址。

    或者增加client的IP地址, 注意master机器的hosts也要更新这些ip

    sudo adduser mpiuser

     #设置密码 其余回车

    sudo apt­-get install openssh-server

    ################给mpiuser 增加sudo权限

    sudo chmod u+w /etc/sudoers
    
    sudo -i
    
    vim /etc/sudoers
    
    增加一行 mpiuser ALL=(ALL:ALL) ALL
    
    sudo chmod u-w /etc/sudoers

    ################给mpiuser 增加sudo权限

    su - mpiuser 

    #我们都在每个机器的mpiuser 用户中做实验,安装源码可以在主用户下,

    mpi用ssh进行通信,为了ssh通信免密我们需要用以下步骤生成秘钥文件,并发送到对方服务器,当然其他的机器也要互相做同样的动作。

    ssh-keygen -t rsa

     # 生成rsa秘钥

    ssh-copy-id -i ~/.ssh/id_rsa.pub master 

    # 发送秘钥给master 输入yes 和 master机器的密码

    sudo apt-get install nfs-kernel-server -y 

    # 安装网络文件服务器,因为mpi运行的程序必须是一致,而且需要快速更新。

    mkdir cloud
    
    sudo mount -t nfs master:/home/mpiuser/cloud ~/cloud

    test1#####################################

    mpirun -np 4 -hosts client,client1 ./cpi
    
    Process 3 of 4 is on client1
    Process 0 of 4 is on client
    Process 1 of 4 is on client1
    Process 2 of 4 is on client
    pi is approximately 3.1415926544231243, Error is 0.0000000008333312
    wall clock time = 0.001272

    另外一个test

    master 与 client 建立TCP链接 ,首先在master上run server程序。源码在

    https://github.com/qiaosiyi/ssserver/blob/master/tcptestserver.c

    编译之,

    mpicc tcptestserver.c -o tcptestserver

    tcptestclient ,同理。

     在master上运行:

    ################master###############################

    $ mpirun -np 1 ./tcptestserver
    
    $ portname: tag#0$description#master$port#36221$ifname#192.168.187.160$

    ################master###############################

    再在client上运行:

    ################client###############################

    $ mpirun -np 1 ./tcptestclient 'tag#0$description#master$port#36221$ifname#192.168.187.160$'
    
    $ Trying connect to tag#0$description#master$port#36221$ifname#192.168.187.160$

    ################client###############################

     在master上运行:

    ################master###############################

    $ client connected
    
    $ msg: 42

    ################master###############################

     =====

    qsy

    31 Jul 2019

  • 相关阅读:
    织梦DedeCms网站首页不生成html文件动态显示方法
    PHP7.0下安装DEDE织梦 出现 GD不支持的解决方法
    DEDECMS5.7支持伪静态的方法
    DEDECMS全站伪静态设置方法
    设置 SSH 通过密钥登录
    Windows安装OpenSSH服务
    VS Code远程开发工具错误-找不到SSH安装
    帝国CMS自定义列表的排序
    帝国CMS灵动标签e:loop的使用方法
    cisco 3750交换机堆叠后配置恢复方法
  • 原文地址:https://www.cnblogs.com/pandaroll/p/11274440.html
Copyright © 2011-2022 走看看