gpt4 book ai didi

mpi - 在 C++ 中使用 MPI_Send() 或 MPI_Bcast 发送类实例

转载 作者:行者123 更新时间:2023-12-02 18:21:37 25 4
gpt4 key购买 nike

如何在 C++ 中使用 MPI_Send()MPI_Bcast() 传输我的类或 std::vector 的实例?

最佳答案

您不能简单地传输随机类的实例,因为 C 调用的 MPI_Send()MPI_Bcast() 都不了解这些类的结构。您可以通过向 MPI_Send() 提供 &vector[0] 来发送 std::vector 实例(因为它使用连续内存存储),但然后,接收操作应分几个步骤实现:MPI_Probe() -> 获取消息中的元素数量 -> 调整向量实例的大小 -> MPI_Recv() 到调整实例大小。对于所有其他情况,您应该使用类似 Boost.MPI 的内容。或者您应该使用 MPI_Pack()MPI_Unpack() 在 MPI 消息之间序列化和反序列化您的类实例。

关于mpi - 在 C++ 中使用 MPI_Send() 或 MPI_Bcast 发送类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23480445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com