我正在使用一个C ++代码,它使用mpi在HPC上进行并行计算。我想知道如何在我的代码中实现测量网络延迟? (我想知道在我的模拟中延迟是否是一个大问题。)
cpu的utime或stime是否包含这种延迟?
PS:我的群集正在使用Linux,由SGE管理。
答案 0 :(得分:2)
您应该查看 VampirTrace
它允许您跟踪延迟以及mpi调用的吞吐量以及许多其他指标。由于它是商业许可证,因此您需要获得许可证。我建议您询问您的集群管理员您的机构是否拥有许可证(对于大学等,通常就是这种情况)。
答案 1 :(得分:0)
如果您只想测量延迟,请计算发送0长度消息所需的时间,或发送多个消息并对其进行平均。还有几个基准测试。我在英特尔工作,支持我们的一些软件开发产品。其中之一是英特尔®MPI基准测试,这是一套可用于任何MPI实施的开源MPI基准测试。如果您想尝试一下,可以在https://software.intel.com/en-us/articles/intel-mpi-benchmarks/下载。