14

アプリケーション内の関数が費やした合計時間は、次の 2 つの要素に大きく分けることができます。

  1. 実際の計算に費やされた時間 (Tcomp)
  2. メモリ アクセスに費やされた時間 (Tmem)

通常、プロファイラーは、関数が費やした合計時間の見積もりを提供します。上記の 2 つのコンポーネント (Tcomp と Tmem) に関して費やされた時間を見積もることは可能ですか?

4

4 に答える 4

7

算術強度の概念は、ルーフライン モデルによって提案されています: https://crd.lbl.gov/departments/computer-science/PAR/research/roofline/。簡単に言えば、メモリアクセスごとに実行される算術命令の数を定義します。

演算強度の計算は、通常、パフォーマンス カウンターを使用して実装されます。

于 2016-11-15T13:18:05.050 に答える
6

現在のプロセッサ アーキテクチャでは、計算がメモリ アクセスとオーバーラップするため、これを測定することはできません (測定しても意味がありません)。また、メモリへのアクセスは、通常、より多くのステップに分割されます (メモリへのアクセス、さまざまなキャッシュ レベルへのプリフェッチ、プロセッサ レジスタへの実際の読み取り)。

perf とそのハードウェア カウンター (ハードウェアでサポートされている場合) を使用して、さまざまなキャッシュ レベルでキャッシュ ヒットとキャッシュ ミスを測定し、ハードウェアでのアルゴリズムの効率を見積もることができます。

于 2016-11-15T09:21:20.983 に答える