sst dumpi跟踪格式的python绑定。

pydumpi的Python项目详细描述


sst-dumpi python绑定

sst-dumpi跟踪库的python绑定。

安装

pydumpi位于PyPi

pip install pydumpi

注意:pypi包包含一个预先构建的共享库,这可能不是 在非常旧的系统上工作,并且仅限Linux。如果这对你不起作用 从源安装是您唯一的选择。

从源安装

克隆此存储库并在虚拟环境中安装带有pip的包,例如:

git clone http://github.com/justacid/pydumpi
cd myproject
source venv/bin/activate
pip install ../pydumpi

如果找不到dumpi库,安装可能需要一些时间 在路径上,它将在安装期间下载和编译 过程。您还可以全局安装libundumpi,了解更多信息 有关如何全局安装的信息,请参阅 sst-dumpi repository

用法示例

从dumpitrace继承并重写您感兴趣的回调。 每个mpi函数都有一个可用的回调。可以找到完整的列表 在dumpi/callbacks.py中。

frompydumpiimportDumpiTraceclassMyTrace(DumpiTrace):def__init__(self,file_name):super().__init__(file_name)self.message_count=0defon_send(self,data,thread,cpu_time,wall_time,perf_info):self.message_count+=1time_diff=wall_time.stop-wall_time.startprint(f"Time elapsed in 'MPI_Send': {time_diff.to_ms()} milliseconds.")defon_recv(self,data,thread,cpu_time,wall_time,perf_info):print(f"Message received on thread '{thread}' from thread '{data.source}'.")withMyTrace("path/to/some/trace.bin")astrace:trace.print_header()trace.read_stream()print(trace.message_count)

重要:因为C后端在回调返回后释放数据, 它仅在回调(包括墙和CPU时间)内有效。如果你 需要存储它执行深度复制,否则会得到垃圾值。

元数据

您可以通过打印头和 页脚。尤其是页脚打印了所有mpi函数的列表 在跟踪期间被调用-此信息有助于指导您决定 哪些回调需要重写以进行进一步分析。

withDumpiTrace("path/to/some/trace.bin")astrace:trace.print_header()trace.print_footer()

还有一个实用函数来读取文件夹中的所有二进制跟踪。这个 函数将在给定目录中搜索元文件,并执行一些基本的健全操作 检查并返回包含所有二进制跟踪的列表。

frompydumpi.utilimporttrace_files_from_dirforfnameintrace_files_from_dir("path/to/data_dir"):print(fname)

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

推荐PyPI第三方库


热门话题
显示图像的RGB编号的java   java JavaFX画布2D游戏:背景变换vs.绘画   在到达maxElementsInMemory之前创建的java DiskMarker   a4j:ajax可用事件的java详尽列表?   java从批处理文件运行jar文件,如果出现错误,则显示meessage   音频Java在背景音乐之上播放声音   用于在FTP中上载文件的java更改目录   尽管设置了必要的属性,java列表项仍不会保持选中状态   java Stanford Core NLP解析与CSV   java使用缓冲区合并热态和冷态   java无法初始化类javax。加密。JCE安全   对这个Java循环如此困惑的输入   java Spring RabbitMQ SimpleRabbitListenerContainerFactory用法   java如何使用jGrowl创建JSF消息   安装jRebel插件后,Netbeans项目中的java源文件夹不可见?   如何在Java中解析复杂的json字符串   java Spark KafkaUtils CreateRDD在键上应用过滤器   try块中的java代码被忽略,为什么?