問題タブ [papi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
482 参照

kernel - papi_avail でイベントが表示され、C でアクセスできない

Odroid-XU4 で PAPI を実行しようとしています。PAPI をインストールしました。実行すると、 papi_avail -a16 個のイベントが利用可能であることがわかります。

perf_event_paranoid-1に設定しました。

C を使用して PAPI を呼び出そうとすると、常に次のように表示されます。

イベントが存在しません

ハードウェアに 16 個のイベントがあることはわかっていますが。

PAPI のテストを実行すると、次のエラーが表示されます。

このエラーの意味と、PAPI が機能するように修正する方法を知っている人はいますか?

編集

役立つ場合に備えて、 papi_component_availandの出力を含めました。papi_avail -a

papi_component_avail

papi_avail -a

perf をインストールしようとしたときの出力

0 投票する
1 に答える
282 参照

c - PAPI を使用して perf_event_uncore リストからハードウェア カウンターを読み取る

PAPI を使用してハードウェア カウンターの 1 つを読み取ろうとしています。リストからイベントを読み込もうとするとperf_event、うまくいきます。perf_event_uncoreただし、 で取得したリストからカウンターの 1 つを読み取る必要がありますpapi_native_availが、エラーが発生します。Linux 5.4.0-3-amd64 バージョンのカスケード レイク アーキテクチャで実行されています。

PAPI_event_name_to_codePAPI_OK を返しても、無効な引数PAPI_add_eventである -1 を返します。PAPI_EINVALいくつかのカウンターフォームを試しperf_event_uncoreましたが、同じ問題が発生しました。これをイベントセットに追加するには、別の関数を使用する必要がありますか? または、私が間違っていることは他にありますか?

0 投票する
3 に答える
793 参照

c - プロファイリング Cプログラムの関数のキャッシュヒット率

Linux マシンで実行されている C/C++ プログラム ( foo )の特定の関数のキャッシュ ヒット率を取得したいと考えています。私は gcc を使用しており、コンパイラの最適化は行っていません。perfを使用すると、次のコマンドを使用してプログラム全体のヒット率を取得できます。

perf stat -e L1-dcache-loads、L1-dcache-load-misses、L1-dcache-stores、L1-dcache-store-misses ./a.out

しかし、カーネルfooのみに興味があります。

perfまたはその他のツールを使用してfooのみのヒット率を取得する方法はありますか?

lscpu コマンドの出力は次のとおりです。