我将 numpy 用于数值线性代数。例如,我怀疑如果我对执行某些计算的方式进行一些小修改,从而提高内存效率,我可以获得更好的性能。
我想知道 python 中是否有任何形式的工具来检测缓存和 TLB 未命中。有一个非常好的 api,PAPI,我在最近的课程中了解到,但它没有 Python 接口:
http://icl.cs.utk.edu/papi/overview/index.html
另外,一般有没有一种很好的方法来分析 numpy 或其他 python 数字代码?timeit 模块很难集成到代码中。mpi4py 有一种很好的方式来使用 MPE 库进行分析。演示代码片段 (demo/mpe-logging/cpilog.py):
communication = MPE.newLogState("Comunicate", "red")
with communication:
comm.Bcast([n, MPI.INT], root=0)
将创建一个可以以图形方式显示的日志文件。但这有点特定于 MPI。
谢谢。