cube.cubex库分析器

cubex的Python项目详细描述


cubex是一个用于分析多维数据集(.cubex)配置文件的python模块。

快速入门指南

cubex仍在进行中,但它当前可用,并且 以下说明将帮助您开始。

要创建新的Cube对象,请打开一个新文件。

>>importcubex>>prof=cubex.open('profile.cubex')

使用show_metrics()函数列出可用的度量。

>>>prof.show_metrics()bytes_sentvisitstime...

默认情况下,cubex不会将所有可用的度量加载到内存中。装载 所需的度量,例如time,使用read_data()函数。

>>prof.read_data('time')

Cube将调用树存储在列表中,prof.calltrees。对大多数人来说 程序,这将由一个条目组成。对于包含 多个可执行文件(MPMD),每个程序的调用树将是 列表。

调用树可以使用 配置文件的调用树。

>>prof.calltrees[0].print_tree()

这将显示调用树的每个节点,按深度缩进,并标记为 它对应的区域。

在这一点上,如果用户对调用树有一些直观的感觉,那么它会有所帮助 在个人资料里。(如果有人对如何改进这一点有意见,请 提交反馈。)

话虽如此,如果一个人知道 兴趣,然后使用region属性访问数据。

>>prof.regions[reg].cnodes[<cubex.calltree.CallTreeobjectat0x7f4437892f90>,<cubex.calltree.CallTreeobjectat0x7f4437539f10>,...]

这将返回调用树中每个节点(实际上是子树)的列表,其中 函数被调用。

要区分cnodes,可以检查其调用树(使用 print_tree())或检查其父节点。

>>cnode=prof.regions[reg].cnodes[0]>>cnode.parent.region.name'function_name_calling_cnode_'

也可以检查节点索引(cnode.idx),尽管这需要一些 树本身的知识,可以使用立方体图形检查 浏览器。

最后,要在目标cnode处获取度量值,请访问 metrics属性。

>>prof.regions[reg].cnodes[0].metrics['time'](496.59532077590507,291.106782542039,496.5975198073004,...)

这将返回以每个计算单位度量的时间列表,例如 MPI列组或OpenMP线程。

注释

  • 区域名遵循c约定。Fortran程序通常会转换 任何函数名都要小写,并将_附加到 函数名。例如,名为GET_LAPLACIAN的函数将 存储为get_laplacian_

    这是通常的惯例,但是其他编译器可能会偏离这个 因此,建议您在访问这些区域之前检查它们。

  • 目前,main分支只支持score-p输出。斯卡拉斯卡 输出略有不同,目前在 cubex

    我们有一些内部版本可以工作,但还不方便用户使用 在公开发行之前需要做一些清理。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用php调用java web服务时无法获取输出   java Netbeans:安装IMlet时出错。。。。仿真器错误   初始化期间Eclipse Juno SR 2中的java堆栈溢出   java在3d中寻找两个任意立方体的交集   代码中显示java“org.openqa.selenium.WebDriverException”错误   java使用AtomicInteger作为可变整数的替代品是一种好的做法吗?   当以编程方式设置背景颜色时,java版面在更新后会自动复制   java将字符串拆分为一个带有数字数据的字符串和另一个带有非数字数据的字符串   带有SSL协议的java AsyncHttpClient   C++服务器HTTN到java NtoHS客户端转换   java内存分配是基于引用类还是实例类?   java使用ProjectLombok安全吗?   grails“java版本”在命令提示符下不工作   java无法使用axis2实例化类型ADBDataSource   在Play Framework 2中进行多文件上传的java示例   java如何将二进制补码字符串转换为负十进制数?   windows 7在Java中获取不正确的操作系统名称   java如何禁用p:commandButton的enter键?   java如何从main方法加载servlet   java如何从imageView获取二进制位图