通常、VTune™ ドライバーは、インテル® VTune™ Amplifier XE 製品のインストール時に自動的ビルドされ Linux* システムに組み込まれ、インストール後ハードウェア PMU イベント・ベース・サンプリングが動作するようになります。 しかし、時に以下の理由により VTune™ ドライバーのビルドと配置が失敗することがあります。
- VTune™ ドライバーをビルドするために必要な Linux* カーネルのソースがない。
- ユーザーが、VTune™ ドライバーをシステムにロードするために必要な “root” 特権を持っていない。
- VTune™ ドライバーをビルドするために必要な開発ツールがないか、カスタマイズされたオペレーティング・システム上で操作を行っている。
- 利用者は Linux* Perf ツールには精通しているが、VTune™ のコマンドラインに不慣れである。
$ amplxe-cl -collect advanced-hotspots –knob collection-detail=stack-sampling -- ./primes.gcc $ amplxe-cl -R callstacks amplxe: Using result path `/home/peter/r009ah' amplxe: Executing actions 50 % Generating a report Function Function Stack Module CPU Time ------------ -------------- ---------- -------- findPrimes primes.gcc 2.000s start_thread primes.gcc 0.564s __clone primes.gcc 0s注意: この機能は、2014 年 2 月 4 日以降にリリースされたオペレーティング・システムで利用できます。また、/sys/devices/cpu/events でシステムでサポートされるイベントを確認できます。 著者コメント: (VTune™ ドライバーがインストールされていない) VMWare* 上の Fedora* 21 にインテル® VTune™ Amplifier XE をインストールして試したところ、EBS が存在しないことが報告されましたが、この機能は利用できませんでした。perf ユーティリティーや amplxe-perf が、cpu-clock イベントが利用できることを確認しました。これは、CPU イベントは透過ですが、イベント名 “instruction” がサポートされないことを意味します。そのため、advanced-hotspots (clocks と instruction が必要) が動作しません。cpu-clock と instruction の両方がシステムでサポートされていることを知るには、”perf list” を使用する必要があり、advanced-hotspot がシステムでインテル® VTune™ Amplifier XE の “ドライバーなし” 機能を利用できるかどうかを判断します。 コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください