收集有关 Cray Chapel 中的 GASNet 通信操作的信息

dre*_*4er 5 profiling cray gasnet chapel

正在开发一个基本的分析器,它将收集 Cray Chapel 中 GASNet 通信操作的开始和结束时间。唯一想到的想法是在 Chapel 通信函数中插入指令来获取函数调用时间。有没有什么方法可以在不弄乱语言源代码的情况下做到这一点?

Dan*_*hea 3

GASNet 拥有强大的内置跟踪基础设施,可用于收集任何 GASNet 客户端的通信跟踪。它可以通过使用 --enable-trace 配置 GASNet 来启用。通过 --enable-stats 还可以使用统计收集功能。有关这些的更多信息,请参阅此处自述文件的“GASNet 跟踪和统计收集”部分:

https://bitbucket.org/berkeleylab/gasnet/overview

请注意,这些跟踪和统计功能主要是为了调试 GASNet 和语言运行时系统而编写的,并且可能会产生明显的执行时间开销(在跟踪的情况下是 CPU 和文件 I/O)。此外,所有信息都将位于 GASNet 操作和内存位置的级别,而不是高级语言。因此,它无需任何更改即可运行,并且将为您提供大量信息,但它可能无法完美满足您的 Chapel 分析需求。

  • 感谢您的回答,我正在使用 --wrap 选项来获取所需功能的信息,这似乎是一个理想的变体(满足我的需要):您可以选择任何选项来跟踪,时间开销较低。 (3认同)