Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;OpenMPI链表 目前,我有一个很好的C++图形算法,它是用链表或链表数组的自定义结构定义编写的(我应该把它变成模板定义,但现在不是)。这个算法可以很容易地分布,我想测试一下。但是,除了理解一些基本的MPI示例之外,我没有太多OpenMPI经验 如何在OpenMPI中使用链表 在MPI中使用链表的常见做法是什么?例如,当我将链接列表传递给其他进程时,我可以将它们转换为数组,然后再将它们转换回来 我是否需要单独处理每个链表类?目前,我有4个独立的链表类。如果是这种情况,我最好做一个模板类定义_C++_Templates_Linked List_Distributed_Openmpi - Fatal编程技术网

C++;OpenMPI链表 目前,我有一个很好的C++图形算法,它是用链表或链表数组的自定义结构定义编写的(我应该把它变成模板定义,但现在不是)。这个算法可以很容易地分布,我想测试一下。但是,除了理解一些基本的MPI示例之外,我没有太多OpenMPI经验 如何在OpenMPI中使用链表 在MPI中使用链表的常见做法是什么?例如,当我将链接列表传递给其他进程时,我可以将它们转换为数组,然后再将它们转换回来 我是否需要单独处理每个链表类?目前,我有4个独立的链表类。如果是这种情况,我最好做一个模板类定义

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的操作以避免不

谢谢你的指导和所有的帮助

基本上,bare接口提供了一种方法,可以通过各种方式向其他节点发送连续的内存区域,但不会为您遍历链表


因此,您需要根据对算法有意义的内容来决定如何发送和接收数据,以优化性能。例如,您可以为每个元素发送一条消息,也可以收集其中的许多消息并进行分散。

这是正确的答案;我只想补充一点,这并不仅仅是MPI的事情。当您(OP)想要序列化链接列表的全部或部分内容时—将其捆绑并发送到某个地方,无论是发送到另一个节点还是磁盘—您需要执行类似于选项2的操作(可能使用类似选项3的操作以避免不同类型列表的代码重复)。如果不遍历结构并编组数据,就无法将数据写入磁盘;对于MPI,这是相同的问题。