C++;OpenMPI链表 目前,我有一个很好的C++图形算法,它是用链表或链表数组的自定义结构定义编写的(我应该把它变成模板定义,但现在不是)。这个算法可以很容易地分布,我想测试一下。但是,除了理解一些基本的MPI示例之外,我没有太多OpenMPI经验 如何在OpenMPI中使用链表 在MPI中使用链表的常见做法是什么?例如,当我将链接列表传递给其他进程时,我可以将它们转换为数组,然后再将它们转换回来 我是否需要单独处理每个链表类?目前,我有4个独立的链表类。如果是这种情况,我最好做一个模板类定义
谢谢你的指导和所有的帮助 基本上,bare接口提供了一种方法,可以通过各种方式向其他节点发送连续的内存区域,但不会为您遍历链表C++;OpenMPI链表 目前,我有一个很好的C++图形算法,它是用链表或链表数组的自定义结构定义编写的(我应该把它变成模板定义,但现在不是)。这个算法可以很容易地分布,我想测试一下。但是,除了理解一些基本的MPI示例之外,我没有太多OpenMPI经验 如何在OpenMPI中使用链表 在MPI中使用链表的常见做法是什么?例如,当我将链接列表传递给其他进程时,我可以将它们转换为数组,然后再将它们转换回来 我是否需要单独处理每个链表类?目前,我有4个独立的链表类。如果是这种情况,我最好做一个模板类定义,c++,templates,linked-list,distributed,openmpi,C++,Templates,Linked List,Distributed,Openmpi,谢谢你的指导和所有的帮助 基本上,bare接口提供了一种方法,可以通过各种方式向其他节点发送连续的内存区域,但不会为您遍历链表 因此,您需要根据对算法有意义的内容来决定如何发送和接收数据,以优化性能。例如,您可以为每个元素发送一条消息,也可以收集其中的许多消息并进行分散。这是正确的答案;我只想补充一点,这并不仅仅是MPI的事情。当您(OP)想要序列化链接列表的全部或部分内容时—将其捆绑并发送到某个地方,无论是发送到另一个节点还是磁盘—您需要执行类似于选项2的操作(可能使用类似选项3的操作以避免不
因此,您需要根据对算法有意义的内容来决定如何发送和接收数据,以优化性能。例如,您可以为每个元素发送一条消息,也可以收集其中的许多消息并进行分散。这是正确的答案;我只想补充一点,这并不仅仅是MPI的事情。当您(OP)想要序列化链接列表的全部或部分内容时—将其捆绑并发送到某个地方,无论是发送到另一个节点还是磁盘—您需要执行类似于选项2的操作(可能使用类似选项3的操作以避免不同类型列表的代码重复)。如果不遍历结构并编组数据,就无法将数据写入磁盘;对于MPI,这是相同的问题。