英語フランス語スペイン語

Ad


OnWorksファビコン

likwid-perfctr-クラウドでのオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで likwid-perfctr を実行します。

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドlikwid-perfctrです。

プログラム:

NAME


likwid-perfctr-x86CPUでハードウェアパフォーマンスカウンターを構成して読み取ります

SYNOPSIS


likwid-perfctr [-vhHVmaeiMoO] [-c / -C ] [-g or
] [-t ] [-S ] [-s ] [-o
]

DESCRIPTION


likwid-perfctr 設定して読み取るための軽量のコマンドラインアプリケーションです
サポートされているx86プロセッサのハードウェアパフォーマンス監視データ。 それはどちらかとして測定することができます
測定されたアプリケーションを変更せずに、または内部のマーカーAPI関数を使用してラッパー
カウンターのオンとオフを切り替えるコード。 便利な構成済みのグループがあります
イベントセットと派生メトリック。 さらに、任意のイベントをカスタムで測定できます
イベントセット。 マーカー API は、複数の名前付き領域を測定できます。 結果は
複数の呼び出し。 次の x86 プロセッサがサポートされています。

· インテル 基本 2: すべての亜種。 カウンター: PMC [0-1]、 FIXC [0-2]

· インテル ネハレム: カウンター: PMC [0-3]、 FIXC [0-2]、 UPMC[0-7]

· インテル Nehalemの EX: カウンター: PMC [0-3]、 FIXC [0-2]、 MBOX [0-1] C [0-5]、 BBOX[0-1]C[0-3]、
RBOX [0-1] C [0-7]、 WBOX[0-5]、 UBOX0、 SBOX [0-1] C [0-3]、 CBOX [0-9] C [0-4]

· インテル ウェストメア:
カウンター: PMC [0-3]、 FIXC [0-2]、 UPMC[0-7]

· インテル Westmere EX: カウンター: PMC [0-3]、 FIXC [0-2]、 MBOX [0-1] C [0-5]、 BBOX[0-1]C[0-3]、
RBOX [0-1] C [0-7]、 WBOX[0-5]、 UBOX0、 SBOX [0-1] C [0-3]、 CBOX [0-9] C [0-4]

· インテル 砂の ブリッジ: 完全なRAPLサポート。 カウンター: PMC [0-3]、 FIXC [0-2]、 PWR[0-3]

· インテル 砂の ブリッジ EP: アンコアの部分的なサポート、完全なRAPLサポート。 カウンター:
PMC [0-3]、 FIXC [0-2]、 PWR[0-3]。 MBOX[0-3]C[0-3]

· インテル ツタ ブリッジ: 完全なRAPLサポート。 カウンター: PMC [0-3]、 FIXC [0-2]、 PWR[0-3]

· インテル ツタ ブリッジ EP: アンコアの部分的なサポート、完全なRAPLサポート。 カウンター:
PMC [0-3]、 FIXC [0-2]、 PWR[0-3]、 CBOX[0-9]C[0-3]、 MBOX [0-3] C [0-3]、 MBOX [0-3] FIX

· インテル Haswell: 完全なRAPLサポート。 カウンター: PMC [0-3]、 FIXC [0-2]、 PWR[0-3]

· インテル Haswell EP: アンコアサポートなし、完全なRAPLサポート。 カウンター: PMC [0-3]、
FIXC [0-2]、 PWR[0-3]

· インテル アトム シルバーモント: 完全なRAPLサポート。 カウンター: PMC [0-1]、 FIXC [0-2]、 PWR[0-1]

· インテル ペンティアム M: バニアスとドーサンの亜種。 カウンター: PMC [0-1]

· インテル P6: P3でテスト済み。

· AMD K8: すべての亜種。 カウンター: PMC [0-3]

· AMD K10: バルセロナ、上海、イスタンブール、マニクール ベースのプロセッサ。 カウンター:
PMC [0-3]

OPTIONS


-v バージョン情報を標準出力に出力してから終了します。

-h ヘルプメッセージを標準出力に出力してから終了します。

-H グループヘルプメッセージを出力します(-gスイッチと一緒に使用します)。

-V デバッグ用の実行中の詳細出力。

-m マーカーAPIモードで実行

-a 現在のプロセッサで利用可能なパフォーマンスグループを印刷します。

-e 現在のプロセッサの使用可能なカウンタとパフォーマンスイベントを出力します。

-o
すべての出力を stdout ではなくファイルに保存します。 ファイル名については、次の
プレースホルダーがサポートされています:PBS_JOBIDの場合は%j、MPI RANKの場合は%r(IntelMPIのみ
瞬間)、%hホスト名およびプロセスpidの%p。 プレースホルダーは
-o test_%h_%p のようにアンダースコアで区切ります。 に接尾辞を指定する必要があります
ファイル名。 txtの場合、出力はそのままファイルに出力されます。 他の接尾辞は
出力をフィルタリングします。 使用可能なフィルターは、csv (カンマ区切り値) および xml です。
現時点では。

-O 結果の表を印刷せず、代わりに簡単に解析できるCSVを使用してください。

-i プロセッサおよびIntelPerformanceMonitoringに関するcpuid情報を出力します
機能を終了し、終了します。

-c
プロセッサーの数値リストを指定します。 リストには複数のアイテムが含まれる場合があります。
カンマと範囲で区切ります。 たとえば、0,3,9-11です。

-C
プロセッサーの数値リストを指定します。 リストには複数のアイテムが含まれる場合があります。
カンマと範囲で区切ります。 たとえば、0,3,9-11です。 このバリアントも固定されます
コアへのスレッド。 また、論理的な番号付けを使用することもできます。

-g <パフォーマンス グループ> or <パフォーマンス イベント セッションに 文字列>
測定するパフォーマンスグループを指定します。 これは、で出力されるタグのXNUMXつである可能性があります
-aフラグ。 また、カスタムイベントセットは、次のコンマ区切りのリストで指定できます。
イベント。 各イベントの形式はeventId:registerで、レジスターはXNUMXつです。
パフォーマンス カウンター レジスタをサポートするアーキテクチャの。

-t <周波数 of 採寸>
時間分解測定のタイムラインモード、可能な接尾辞「s」および「ms」のような
100ミリ秒。 出力の形式は次のとおりです。

<結果 thread0> <結果 thread1> ...

-S
秒単位の持続時間を持つ聴診器モード。 アプリケーションの測定に使用可能
外部から。

実施例


なぜなら likwid-perfctr 単一のアプリケーションではなく、プロセッサでの対策が必要です
プロセスとスレッドが専用リソースに確実に固定されるようにします。 ピン留めすることができます
アプリケーションを自分で作成するか、組み込みのピン機能を使用します。

1. パフォーマンス グループのラッパーとして:

likwid-perfctr -C 0-2 -g TLB ./cacheBench -n 2 -l 1048576 -i 100 -t Stream

親プロセスはプロセッサ0に固定され、スレッド0はプロセッサ1に固定され、スレッド1はプロセッサXNUMXに固定されます。
プロセッサ2。

2. AMDでカスタムイベントが設定されたラッパーとして:

likwid-perfctr -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0、CPU_CLOCKS_UNHALTED:PMC3 ./myApp

イベントと明記されている INSTRUCTIONS_RETIRED_SSE カウンターで測定されます PMC0 &
行事 CPU_CLOCKS_UNHALTED カウンターで PMC3。 の実行時間を計算することが可能です
に基づくすべてのスレッド CPU_CLOCKS_UNHALTED イベント。 これが必要な場合は、含める必要があります
上記のように、カスタムイベント文字列内のこのイベント。

3. Intelで設定されたカスタムイベントのラッパーとして:

likwid-perfctr -C 0 -g INSTR_RETIRED_ANY:FIXC0、CPU_CLK_UNHALTED_CORE:FIXC1 ./myApp

Intelプロセッサでは、固定イベントは専用のカウンタで測定されます。 これらは
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE。 & CPU_CLK_UNHALTED_REF 構成する場合
これらの固定カウンター、 likwid-perfctr のランタイムとCPIメトリックを計算します
実行されます。

4.マーカーAPIを使用して、コードの一部のみを測定します(これは、
グループまたはカスタムイベントセット):

likwid-perfctr -m -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0、CPU_CLOCKS_UNHALTED:PMC3
./cacheBench

コードをliblikwid.a/.soにリンクし、マーカーAPI呼び出しを使用する必要があります。 The
次のコードスニペットは、必要な呼び出しを示しています。

#含む

/*initを呼び出すスレッドはXNUMXつだけです*/
場合 (threadId == 0)
{
likwid_markerInit();
}
/*スレッド化されたアプリケーションを測定する場合
* likwid_markerThreadInit() を呼び出す必要があります
*準備、OpenMPを使用した例* /
#pragma omp 並列
{
likwid_markerThreadInit();
}
バリア;
likwid_markerStartRegion("ベンチマーク");
/*測定するコードはこちらです。*/

likwid_markerStopRegion( "Benchmark");
バリア;
/* ここでも、XNUMX つのスレッドだけがマーカーを閉じることができます */
場合 (threadId == 0)
{
likwid_markerClose();
}

5.タイムラインモードでのlikwidの使用:

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./myApp > out.txt

これにより、物理コア300〜0で3ミリ秒ごとにカウンターが読み取られ、結果が次のように書き込まれます。
out.txt。 タイムラインモードには、フロントエンドアプリケーションのlikwid-scopeがあります。
選択したイベントのライブプロット。 その他のコード例については、likwidWIKIをご覧ください。
ページ。 プロセスは次のとおりです。 CPU 0〜3に固定されています。

6. 聴診器モードでの likwid の使用:

likwid-perfctr -c 0-3 -g FLOPS_DP -S 2s

これにより、カウンターが開始され、物理コア 2 ~ 0 で 3 秒後に読み取られ、書き込みが行われます。
結果をstdoutに。 プロセスは CPU 0〜3に固定されています。

onworks.netサービスを使用してオンラインでlikwid-perfctrを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad