Deepin(Linux)下搭建Boost.MPI

4 篇文章 0 订阅
3 篇文章 0 订阅

Deepin(Linux)下搭建Boost.MPI
 

1.下载Boost.MPI

    下载地址:https://www.boost.org/users/download/
    下载Linux版本的Boost,大概100Mb左右。 

2.安装Boost.MPI 

    找个自己的目录,解压安装包,解压以后进入boost目录

./bootstrap.sh

    然后在目录下会多出几个文件,打开project-config.jam,最后添加上一句using mpi;

    安装:

sudo ./b2 install

    安装过程先在当前目录下编译出一些东西在bin.v2文件夹里面,然后在复制到你想要的安装目录去,默认就是/usr/local/下的文 文件夹中

    观察有没有报错,正常的话在/usr/local/include     /usr/local/lib里面会多出来一些boost的东西


 3. 查看mpi库

    安装完看一下有没有/usr/local/lib/下有没有mpi的库文件,我安装好了之后没有发现没有mpi,官网给的教程版本是错的,要手动把解压目录下bin.v2下的东西复制进来,有两个,这里我写出一个的目录,很好找

/bin.v2/libs/mpi/build/gcc-7.3.0/release/link-static/threading-multi/libboost_mpi.a

复制到  /usr/local/lib

4.使用Boost.MPI 

    用QtCreator写的,cmakelist里面添加mpi库跟boost标准库

cmake_minimum_required(VERSION 2.8)

project(untitled)

#下面的几个目录都要自己写的,默认的话可能跟我一样的
#add mpi.h
include_directories(/home/jin/MPICH/include)

#add libmpich
link_libraries(/home/jin/MPICH/lib/libmpich.so)
#add libboost
link_libraries(/usr/local/lib/libboost_serialization.a)
link_libraries(/usr/local/lib/libboost_mpi.a)

#add all cpp file to DIR_SRCS
aux_source_directory(. DIR_SRCS)


add_executable(${PROJECT_NAME} ${DIR_SRCS})
#include <boost/mpi.hpp>
#include <iostream>
#include <string>
#include <boost/serialization/string.hpp>
namespace mpi = boost::mpi;

int main()
{
  mpi::environment env;
  mpi::communicator world;

  if (world.rank() == 0) {
    world.send(1, 0, std::string("Hello"));
    std::string msg;
    world.recv(1, 1, msg);
    std::cout << msg << "!" << std::endl;
  } else {
    std::string msg;
    world.recv(0, 0, msg);
    std::cout << msg << ", ";
    std::cout.flush();
    world.send(0, 1, std::string("world"));
  }

  return 0;
}

编译就能通过的,这个必须用两个cpu才能跑,所以在IDE中跑不了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值