首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么boost::mpi::request.test()返回无效的统计信息

为什么boost::mpi::request.test()返回无效的统计信息
EN

Stack Overflow用户
提问于 2020-12-16 08:55:38
回答 1查看 50关注 0票数 0

我在boost-mpi交换中有一个记忆问题。由于应用程序的需要,交换机在发送端是异步的,在接收端是同步的,它以前使用过基本的mpi代码。

代码语言:javascript
复制
#include <iostream>
#include <boost/mpi/environment.hpp>
#include <boost/mpi/communicator.hpp>

int main()
{
  boost::mpi::environment env;
  boost::mpi::communicator world;
  size_t irank=world.rank();
  if (irank == 0) {
    std::vector<int> V(100, 0);
    boost::mpi::request req = world.isend(1, 37, V);
    while(true) {
      boost::optional<boost::mpi::status> stat = req.test();
      if (stat) {
        if (stat->error() != 0) {
          std::cerr << "Rank 0: Non-zero error in stat\n";
          char error_string[10000];
          int length_of_error_string;
          MPI_Error_string(stat->error(), error_string, &length_of_error_string);
          fprintf(stderr, "err: %s\n", error_string);
          return 1;
        }
        break;
      }
    }
  } else {
    while(true) {
      boost::optional<boost::mpi::status> prob = world.iprobe();
      if (prob) {
        if (prob->tag() == 37) {
          std::vector<int> V;
          world.recv(prob->source(), prob->tag(), V);
          std::cerr << "Rank 1: Correct receiving of the vector\n";
          break;
        }
      }
    }
  }
}

该消息已正确接收,但mpirun -np 2 ./CTYP_debug的错误为

代码语言:javascript
复制
Rank 0: Non-zero error in stat
Invalid error code (14263904) (error ring index 27 invalid)
Invalid error code (14263904) (error ring index 27 invalid)
err: Unknown error class, error stack:
(unknown)(): MPI_Info_create failed
Rank 1: Correct receiving of the vector

对我来说,这显示出一些记忆问题,但我找不到哪里出了问题。滴滴涕没有显示任何明显的错误。

EN

回答 1

Stack Overflow用户

发布于 2020-12-17 12:20:22

它出现在依赖于.test()MPI_Test中。事实证明,MPI_Status结构的错误字段没有在MPI_Test调用中设置。详情请参见https://www.mpich.org/static/docs/v3.2/www3/MPI_Test.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65320086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档