数値線形代数には numpy を使用します。たとえば、特定の計算を実行する方法を少し変更して、メモリ効率を向上させると、パフォーマンスが大幅に向上すると思います。
キャッシュと TLB のミスを検出するために Python で利用できる何らかの形式のインストルメンテーションがあるかどうか疑問に思っていました。最近のクラスで学んだ非常に優れた 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 特有のものです。
ありがとう。