微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OSU 单向带宽测试中的缓存缺失

如何解决OSU 单向带宽测试中的缓存缺失

我们正在为 OSU 单向带宽基准测量发送方 MPI_Isend()+MPI_Waitall() 和接收方 MPI_Irecv()+MPI_Waitall() 中的缓存未命中。令人惊讶的是,当使用 8KB16KB 时,Intel MPI 2017.4 消息大小的缓存未命中超过了 Intel compiler 2017.4 消息大小的缓存未命中。我们使用分析器 TAU 捕获缓存未命中。下面是一些捕捉这种奇怪行为的图表:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

我们已经排除了 Eager-Rendezvous 切换的影响,因为I_MPI_EAGER_THRESHOLD256 KB,并且由于消息大小小于 pre 的认大小而重新分配预先注册的缓冲区-注册缓冲区(对于英特尔 MPI,大约为 23.5 KB)。

任何见解都是有价值的。谢谢!

附加 1:通信是在与英特尔 OPA 连接的节点之间进行的,最大带宽为 100 Gbits/sec

补充 2:我们怀疑英特尔 OPA 的Path MTU size of 8 KB 与它有“某种关系”,但仍然存在关于为什么缓存的问题- 大小为 16 KB 的消息的未命中小于 8 KB。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。