現在、PAPI を使用していくつかのコードのベンチマークを行っています。
私が取得したプリセット値の 1 つは、PAPI_L1_ICA、つまり L1 命令キャッシュに対して実行される命令キャッシュ アクセスの量です。
私が見る限り、アルゴリズムと PAPI_L1_ICA の実行時間は多かれ少なかれ同等であるように見えるため、コードはこれに支配されていますが、分岐予測ミス、キャッシュミス、tlb ミス、CPU 命令などの他のメトリックは通常そうです。実行時間の動作を説明しません。
私の質問は、L1 命令キャッシュ アクセスをトリガーするアクションを定義するものは何ですか? 私の測定では、アクセスは 150.000 のオーダーですが、たとえば完了した命令 PAPI_TOT_INS の量は約 10.000 にすぎません。それらは幾分平等であるべきではありませんか?