我们正在为 OSU 单向带宽基准测量MPI_Isend()+MPI_Waitall()
发送方和接收方的缓存未命中率。令人惊讶的是,当使用and时,消息大小MPI_Irecv()+MPI_Waitall()
的缓存未命中8KB
超过了消息大小。我们使用分析器 TAU 捕获缓存未命中。下面是一些捕捉这种奇怪行为的图表:
16KB
Intel MPI 2017.4
Intel compiler 2017.4
我们已经排除了 Eager-Rendezvous 切换的影响,因为消息大小小于预注册缓冲区的默认大小(英特尔 MPI 约为 23.5 KB),因此重新分配预注册缓冲区的I_MPI_EAGER_THRESHOLD
影响256 KB
.
任何见解都是有价值的。谢谢 !
加法1:通信是在与最大带宽为.的Intel OPA连接的节点之间进行的100 Gbits/sec
。
补充 2:我们怀疑英特尔 OPA的默认设置Path MTU size of 8 KB
与它有“某种关系”,但仍然存在问题,即为什么 16 KB 消息的缓存未命中率低于 8 KB 时的缓存未命中率。