zoukankan      html  css  js  c++  java
  • 【转&改进】Linux MPI 单机配置

    MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算。MPI有多种实现版本,如MPICH, CHIMP以及OPENMPI。这里我们采用MPICH版本。

    一、MPICH安装

    下载:http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz

    tar -xzvf soft/mpich-3.0.4.tar.gz
    cd mpich-3.0.4/
    ./configure --prefix=/usr/local/mpich
    make && make install

    这里提示权限不够,用

    chmod 777 /usr/local

    安装后加入环境变量/etc/profile,并执行 source /etc/profile

    PATH=$PATH:/usr/local/mpich/bin
    MANPATH=$MANPATH:/usr/local/mpich/man
    export PATH MANPATH

    二、单节点测试

    复制源代码包下的examples目录到安装目录下

    cp -r examples/ /usr/local/mpich

    执行

    mpirun -np 10 ./examples/cpi

    输出结果如下:

    Process 0 of 10 is on server150
    Process 9 of 10 is on server150
    Process 1 of 10 is on server150
    Process 4 of 10 is on server150
    Process 5 of 10 is on server150
    Process 7 of 10 is on server150
    Process 2 of 10 is on server150
    Process 3 of 10 is on server150
    Process 6 of 10 is on server150
    Process 8 of 10 is on server150

    pi is approximately 3.1415926544231256, Error is 0.0000000008333325
    wall clock time = 0.020644

    如果我们现在想编译文件: 在/home/houqingdong下执行:  mpicc -o hello  hello.c  这时候会提醒:-bash:mpicc  command not found 这是因为我们还没有配置路径

    在命令行下输入: export PATH=/home/houqingdong/mpiexe/bin:$PATH   注意:这里仅仅是暂时的设置路径,在重启后效果会消失,如果想一劳永逸的配置,请google查询

    看一下我们配置是否成功可以执行一下  echo $PATH 看一下输出结果中是否有我们的路径

     

     

    这里不知道为什么运行计算PI 的程序会只有执行了一个进程,

    手动编译范例下面的hellow范例,这次是正确的

     

     

    问了博士助教,最后检查出来是因为下载的文件中自带的编译后的可执行程序是错的

    用mpicc -0 cpi cpi.c

    再编译一次就好了

  • 相关阅读:
    eclispe安装tomcate没有srver解决
    反射常见方法
    让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。
    List 接口中ArrayList Vector LinkedList 比较
    抽象类
    js核心知识
    JQgrid学习网站
    小练习---递归求5!
    map()
    小练习---阶乘
  • 原文地址:https://www.cnblogs.com/QingHuan/p/6668058.html
Copyright © 2011-2022 走看看