Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 测量MPI通信成本的工具_Performance_Communication_Mpi - Fatal编程技术网

Performance 测量MPI通信成本的工具

Performance 测量MPI通信成本的工具,performance,communication,mpi,Performance,Communication,Mpi,我正在使用MPI,我想测量通信成本,这样我就可以将它们与“处理”成本进行比较,例如,我需要多少时间将列表分散到n个进程中,然后将其与我需要多少时间对其进行排序进行比较 有人知道衡量这种沟通成本的工具吗?(例如散射) 是否有什么可以衡量MPI通信成本的方法,比如有PAPI来分析代码性能 提前谢谢 是的,有很多这样的工具。MPI定义了一个工具接口,允许其他库在您的MPI函数调用中插入它们自己,并进行计数、计时等 一个非常小的MPI分析工具是—它提供了代码中MPI活动的非常简短的摘要 该库非常容易构建

我正在使用MPI,我想测量通信成本,这样我就可以将它们与“处理”成本进行比较,例如,我需要多少时间将列表分散到n个进程中,然后将其与我需要多少时间对其进行排序进行比较

有人知道衡量这种沟通成本的工具吗?(例如散射)

是否有什么可以衡量MPI通信成本的方法,比如有PAPI来分析代码性能


提前谢谢

是的,有很多这样的工具。MPI定义了一个工具接口,允许其他库在您的MPI函数调用中插入它们自己,并进行计数、计时等

一个非常小的MPI分析工具是—它提供了代码中MPI活动的非常简短的摘要

该库非常容易构建,并为您提供了大量MPI计数和次数,因此提供了一个漂亮的HTML文件。你提到爸爸;IPM还将集成PAPI计数器(如果可用)。我们在中心经常使用这个,我想这会满足你的需求。如果您已经使用MPI的动态库构建了程序,您甚至不需要重新编译就可以使用它(mpiP具有相同的属性)

,它与MPICH2一起提供,但可以使用任何MPI构建,实际上在时间轴上显示每个MPI操作所花的时间

提供非常详细的代码性能度量,特别突出显示“昂贵”行;它还有一个MPI跟踪模式,可以通过代码行识别MPI时间。安装起来可能很棘手

在频谱的商业部分,有来自德累斯顿大学和英特尔跟踪分析仪和采集器(ITAC)的数据。Vampir使用开源VampirTrace库收集源代码级、MPI和OpenMP跟踪,该库还与PAPI集成,以提供详细的事件和计数器跟踪。VampirTrace的跟踪是开放的跟踪格式,除了Vampir之外,其他各种工具都可以读取它

ITAC是其中的一部分。它主要设计用于英特尔MPI,并与Vampir共享相同的原始代码,提供了或多或少相同的功能。它的一个很好的特性是附带的自动运行时MPI正确性检查器

是Allinea的MPI探查器,它通过集成的源代码浏览器提供性能分析,该浏览器显示源代码各行的通信/计算成本。它还显示了性能信息的高级图表,包括内存、CPU指令和通信


但还有其他更高层次的工具,它们不仅提供报告,而且实际上提供建议。TACC的perfexpert是一个基于命令行的工具,它可以进行大量测量并提供一些性能调整建议。在Jülich之外,使用大量源代码级工具重新编译代码,可以指出负载不平衡,特别是昂贵的MPI集合等。它还可以与Vampir集成以进行详细的跟踪分析。

我将从杜德累斯顿大学和英特尔跟踪分析器和收集器中添加。这两种技术都来自同一个祖先,都是优秀而复杂的MPI和OpenMP跟踪性能分析工具,但不幸的是,它们都获得了商业许可。Scalasca是开源的,但并不真正适合于低级的详细分析,因此它与Vampir集成(集成需要有效的Vampir许可证)。以前与LAM一起发布,但自从LAM与开放MPI合并后,就没有积极开发。是的,它们很棒;我主要没有添加它们,因为它们是商业性的。你认为把它改成社区维基,让每个人都添加他们的建议会有用吗?哇!非常感谢你们两位!还有一个问题,因为我更喜欢在我使用的集群中进行测量,而且我没有管理员权限,所以可以在我的目录中安装其中一个程序吗?除了已经安装的mpiP之外。IPM似乎可以在没有管理员权限的情况下安装,对吗?谢谢@dx_mrt:我认为原则上它们都应该可以在没有管理员权限的情况下安装,除非ITAC使用内核模块。许多configure脚本假定您是root用户,正在向/usr或其他类似文件写入数据,但是通过安装到另一个前缀(例如,您的home dir),您应该可以。IPM当然可以。我还把它做成了一个维基,这样人们可以添加我错过的其他工具;我会让@HristoIliev添加ITAC/Vampir。