我遇到了使用C ++的MPI问题。我想逐行读取txt文件并依赖于节点的挂载,我想在循环中逐个发送读取行。
我的问题是,当我不知道我将为节点发送数据的次数时,如何接收数据? 我能以某种方式告诉发送功能,我会向节点发送另一个数据并在节点端处理这些信息吗?
例如:
while (std::getline(file, line)) {
MPI_Send(&some_data, 1, MPI_INT, some_node, 0, MPI_COMM_WORLD);
}
然后我想在另一个节点接收数据,直到发送节点告诉"好的,这是最后一次发送",如下所示:
while (will_send == 1) {
MPI_Recv(&some_data, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
}