我正在使用GASNET_SEGMENT_EVERYTHING编写一个分布式共享内存库,为此,我需要将从某个根节点分配到所有其他节点(如MPI_Bcast )的地址进行通信。然而,我很难理解如何实现这一点。有人能给我举个例子,说明如何用活动消息模拟MPI_Send,或者解释来自gasnet_coll.h的无文档的gasnet_coll_broadcast是如何工作的吗?
发布于 2022-10-20 04:12:43
当前GASNet发行版中的GASNet收集API的最佳信息来源是GASNet-EX规范 (搜索标题为// Collectives (Coll)的部分)。
下面是一个启动非阻塞广播操作,然后同步等待其完成的简单示例:
gex_Event_Wait(gex_Coll_BroadcastNB(myteam, root_rank, dstmem, srcmem, payloadsz, 0));上面的示例取自GASNet测试测试排序规则,GASNet试验中还有其他示例;尽管这些测试分别作为性能微基准和正确性验证测试编写(而不是真正用作示例代码)。
https://stackoverflow.com/questions/73788850
复制相似问题