我使用MPI和我想要测量的通信费用,这样我就可以比较它们“处理的成本,例如,多少时间,我需要通过数处理散射列表,然后把它比作多少一次,我需要对它进行排序。
有谁知道任何工具来测量这种沟通成本? (散射例如)
有什么做的MPI通信成本测量像有,例如,PAPI分析代码的性能?
提前致谢!
我使用MPI和我想要测量的通信费用,这样我就可以比较它们“处理的成本,例如,多少时间,我需要通过数处理散射列表,然后把它比作多少一次,我需要对它进行排序。
有谁知道任何工具来测量这种沟通成本? (散射例如)
有什么做的MPI通信成本测量像有,例如,PAPI分析代码的性能?
提前致谢!
是的,有很多这样的工具。 MPI定义了一个工具接口,允许其他库在您的MPI函数调用插自己,并做计数,计时等。
一个非常小的MPI分析工具是MPIP -它给了MPI活性的代码中的一个非常简短的总结。
该IPM库是相当容易的建立,给你大量的MPI数和时间,并给出了一个很好的HTML文件,作为一个结果。 你提到PAPI; IPM还将如有整合PAPI计数器。 我们在我们中心经常利用这一点,我认为这会做你喜欢什么。 如果你已经建立了你的程序与MPI动态库,你甚至不需要重新编译使用这个(MPIP具有相同的属性)。
跳投 ,附带了MPICH2,但可以与任何MPI建成,实际显示时间轴上的每个MPI运行了多长时间。
OpenSpeedshop使你的代码非常详细的性能测试,特别强调“看病贵”的线条; 它也有一个MPI-跟踪模式将由行代码识别MPI倍。 它可能会非常棘手安装。
在光谱的商业部分有VAMPIR来自德累斯顿技术大学和英特尔跟踪分析器与采集器(ITAC)。 VAMPIR收集源代码级,MPI和OpenMP跟踪使用开源VampirTrace库还与PAPI集成,提供详细的事件和反追踪。 VampirTrace的痕迹是在可能由除VAMPIR其他各种工具读取打开跟踪格式。
ITAC是部分英特尔集群Studio企业版 。 它主要设计为与英特尔MPI和共享与VAMPIR同一祖先的代码工作,提供或多或少相同的功能。 它的一个不错的功能是自动包含运行时MPI正确性检查。
Allinea MAP是从Allinea一个MPI分析器提供性能分析与用于显示旁边的源代码的各行的通信/计算成本的集成代码的浏览器。 它还显示的性能信息,包括存储器,CPU的指令和通信的高层图。
但也有其他更高级别的工具,不仅给报告,但实际上提供建议。 TACC的perfexpert是一个基于命令行的工具,它需要一定数量的测量,并提供了一些性能优化建议。 Scalasca出利希的,重新编译代码有很多源代码级的仪表,可以指出负载不平衡,特别是昂贵的MPI集体等,还可以与整合VAMPIR详细的跟踪分析。