我想知道对于斯凯尔顿和斯特龙的好处是什么? MPI功能的内容实现,例如Boost.MPI中提供的。 据我所知,骨架和内容方法只有在有益的情况下才有用 消息具有固定大小的任意类型,并且此消息需要使用不同的内容多次发送。
所以骨架和内容在以下情况下不起作用:
std::list<int> l;
// Exchange Skeleton mpi::skeleton(l)
// Send Content mpi::content(l) (but modify the size of the list, so sending once 10 element and in the next time 2 elements, for example)
Boost通过序列化数据发送内容,并在另一端反序列化。 (我假设它会发送类型为MPI_BYTE的数据并以某种方式用标志处理endianess?)
两个问题:
因此,在后续调用中不需要再次序列化列表的动态大小等等,因此skelton&amp; content方法是有益的。因此,真正的好处是序列化消息(发送内容)随着骨架和内容方法而变小。如果消息被多次发送,这将是有益的。
总而言之,如果消息是高度动态的(形状变化)并且只发送一条消息,则不应该应用骨架和内容。
这是对的吗?