- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 MPI_AllToAllv 调用。所有的变量都是 vector
MPI_Alltoallv(
&elements[0],
&send_counts[0],
&send_displacements[0],
MPI_INT,
&receiving_vector[0],
&receiving_counts[0],
&receiving_displacements[0],
MPI_INT,
MPI_COMM_WORLD
);
这里是 vector 的内容:
Elements : [6, 5, 4, ]
@ 0
Elements : [3, 2, 1, ]
@ 1
send_counts : [3, 0, ]
@ 1
send_displacements : [0, 3, ]
@ 1
receiving_vector : [0, 0, 0, ]
@ 0
elements : [6, 5, 4, ]
@ 0
send_counts : [0, 3, ]
@ 0
send_displacements : [0, 0, ]
@ 0
receiving_vector : [0, 0, 0, ]
@ 1
receiving_counts : [0, 3, ]
@ 1
receiving_displacements : [0, 0, ]
@ 1
[lawn-143-215-98-238:1182] *** An error occurred in MPI_Alltoallv
[lawn-143-215-98-238:1182] *** reported by process [2332229633,0]
[lawn-143-215-98-238:1182] *** on communicator MPI_COMM_WORLD
[lawn-143-215-98-238:1182] *** MPI_ERR_TRUNCATE: message truncated
[lawn-143-215-98-238:1182] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[lawn-143-215-98-238:1182] *** and potentially your MPI job)
receiving_counts : [3, 0, ]
@ 0
receiving_displacements : [0, 0, ]
@ 0
我不明白为什么会出现此错误。任何帮助将不胜感激。
我用谷歌搜索了这个错误,它可能是我的接收 vector 的大小,但我已经尝试了很多大小,但没有得到任何结果。
最佳答案
发送的数据量和接收的数据量不匹配。由于您只有两个等级,因此很容易画出谁发送多少以及发送给谁的表格。表格的每一行都是相应排名的send_counts[]
的内容:
receiver
s | 0 | 1 |
e ---+---+---+
n 0 | 0 | 3 | (send_counts[] @ 0)
d ---+---+---+
e 1 | 3 | 0 | (send_counts[] @ 1)
r ---+---+---+
为了匹配发送的数据量,每个等级的接收计数应等于上表中对应于该等级的列 vector :
receiving_counts[] @ 0
应该是 { 0, 3 }
而你有 [3, 0, ]
;
receiving_counts[] @ 1
应该是 { 3, 0 }
而你有 [0, 3, ]
。
因此出现截断错误。
关于c++ - MPI_AllToAllV 导致 MPI_ERR_TRUNCATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22830135/
下面的代码给出了这个错误信息: terminate called after throwing an instance of 'boost::exception_detail::clone_impl'
我有一个 int 我打算从根广播 (rank==(FIELD=0))。 int winner if (rank == FIELD) { winner = something; } MPI_Ba
我有以下 MPI_AllToAllv 调用。所有的变量都是 vector MPI_Alltoallv( &elements[0], &send_counts[0],
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我将 Python 中的 OPENMPI 示例中的 ring_c.c 代码转换为使用 mpi4py 进行实验。这是我的代码。 from mpi4py import MPI comm = MPI.COM
当使用序列化数据对同一标签执行多个 isend/irecv 传输时,我发现 boost::mpi 出现了 MPI_ERR_TRUNCATE 错误。这些不是并发传输,即不涉及线程。同时只有不止一项未完成
我是一名优秀的程序员,十分优秀!