【发布时间】:2018-07-18 18:21:05
【问题描述】:
为什么下面的代码不起作用?它适用于我的用户定义类,但不适用于 STL 向量。
std::vector<int> v(4);
MPI_Bcast(&v, sizeof(v), MPI_BYTE, 0, MPI_COMM_WORLD);
我收到分段错误:
[sdg:13611] Signal: Segmentation fault (11)
[sdg:13611] Signal code: Address not mapped (1)
既然vector中的元素是连续存储的,为什么我不能使用MPI_BYTE将std::vector作为一个整体发送?
【问题讨论】:
-
这个问题经常被问到很多变种,但我没有找到合适的重复。所以我尝试添加一个规范的答案。
标签: c++ parallel-processing stl mpi