pyCubexR是一个Python包,用于读取Cube4文件格式。

pycubexr的Python项目详细描述


皮库贝克斯

PyPI - Python VersionGitHub release (latest by date)PyPI versionPyPI - LicenseGitHub issuesGitHub pull requestsGitHub Workflow Status

pyCubexR是一个Python包,用于读取Cube4(.cubex)文件格式。Cube用作Scalasca和Score-P的性能报告资源管理器。它被用作显示多维性能空间的通用工具,包括(i)性能指标、(ii)调用路径和(iii)系统资源。每个维度都可以表示为一棵树,其中树的非叶节点可以折叠或展开以达到所需的粒度级别。Cube4(.cubex)数据格式是为使用Score-P性能检测和测量基础设施或Scalasca version 2.x跟踪分析器(以及其他兼容工具)生成的多维数据集文件提供的。在

有关多维数据集文件格式和相关软件的其他信息,请参阅pyCubexR report。在

有关pyCubexR的问题,请发送邮件至extra-p@lists.parallel.informatik.tu-darmstadt.de。在

安装

要安装当前版本,包括对Ubuntu和Windows的支持:

$ pip install pycubexr

要将pyCubexR更新到最新版本,请在上面的命令中添加--upgrade标志。在

使用

下面的代码提供了一个最小的示例,演示如何使用pyCubexR读取.cubex文件的所有度量、调用路径和度量值:

^{pr2}$

并非所有.cubex文件都必须包含每个调用路径的所有度量值的度量值。对于MPI函数,如MPI_Waitall,尤其如此。在某些情况下,指标可能会丢失。使用MissingMetricError来处理这些异常。在

frompycubexrimportCubexParserfrompycubexr.utils.exceptionsimportMissingMetricErrorcubex_file_path="some/profile.cubex"withCubexParser(cubex_file_path)ascubex:formetricincubex.get_metrics():try:metric_values=cubex.get_metric_values(metric=metric)forcallpath_idinrange(len(metric_values.cnode_indices)):cnode=cubex.get_cnode(metric_values.cnode_indices[callpath_id])# return only a specific number of measurement values for the current metric and callpathcnode_values=metric_values.cnode_values(cnode)[:5]region=cubex.get_region(cnode)# print the data read from the fileprint('\t'+'-'*100)print(f'\tRegion: {region.name}\n\tMetric: {metric.name}\n\tMetricValues: {cnode_values})')exceptMissingMetricErrorase:# Ignore missing metricspass

可以使用以下代码显示.cubex文件的调用树:

frompycubexrimportCubexParsercubex_file_path="some/profile.cubex"withCubexParser(cubex_file_path)ascubex:# print the call tree of the .cubex filecubex.print_calltree()

在特殊情况下,.cubex文件还可能缺少度量的某些调用路径的度量值,或者同一应用程序的.cubex文件包含的调用路径比另一个文件少。这些案件不需要外部支持。在

许可证

BSD 3-Clause "New" or "Revised" License

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

推荐PyPI第三方库


热门话题
java使用唯一的按钮标签单击按钮   代码生成如何使用Java codeModel为数组的特定索引赋值   java如何批量执行Camel SQL插入   java iText 7将ltv添加到现有签名   内存管理Java应用程序突然停止几天后(810)   带MySQL的java注册表单JavaFX在intellij中失败   如何使用eclipse为windows azure java项目启用远程调试   一种通用的java输入输出设计模式   java Android XML(RSS)忽略引号(“”)   java帮助:安卓中的8 X 10 2维按钮数组   java启动Android项目   JWrapper构建java应用程序   java如何在Android应用程序中设置基于日期/时间的默认页面加载?   java循环程序在完成后返回到起点   java Hibernate:更好的整体类还是多类映射?   回溯数独解算器的递归问题[Java]   java查找类用法   java如何在SpringWebFlow中将多个模型绑定到一个视图?