正在研究基本的探查器,该探查器将收集Cray Chapel中GASNet通讯操作的开始和结束时间。想到的唯一想法是在Chapel comm函数中插入指令以获取函数调用时间。有没有办法做到不弄乱语言源代码?
最佳答案
GASNet具有强大的内置跟踪基础结构,可用于收集任何GASNet客户端的通信跟踪。通过使用--enable-trace配置GASNet来启用它。还可以通过--enable-stats使用统计收集功能。有关这些信息的更多信息,请参见README的“ GASNet跟踪和统计信息收集”部分:
https://bitbucket.org/berkeleylab/gasnet/overview
请注意,这些跟踪和统计信息功能主要是为调试GASNet和语言运行时系统而编写的,并且可能会带来明显的执行时间开销(在跟踪情况下为CPU和文件I / O)。同样,所有信息都将处于GASNet操作和存储位置的级别,而不是高级语言。因此,它无需更改即可工作,并且将为您提供大量信息,但是对于您的Chapel分析需求而言,它可能不是完美的选择。