インテル® VTune™ Amplifier : Windows 環境向けスタートガイド

Similar documents
インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

インテル(R) Visual Fortran コンパイラ 10.0

Click to edit title

hotspot の特定と最適化

内容 インテル Advisor ベクトル化アドバイザー入門ガイド Version インテル Advisor の利用 ワークフロー... 3 STEP1. 必要条件の設定... 4 STEP2. インテル Advisor の起動... 5 STEP3. プロジェクトの作成

目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を

XIMERA(Ver1

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

Source Insight

インテル Parallel Studio XE 2017 Composer Edition for Fortran Windows* インストール ガイド Rev (2017/06/08) エクセルソフト株式会社

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

機能仕様書フォーマット

クラウドファイルサーバーデスクトップ版 インストールマニュアル ファイルサーバー管理機能 第 1.1 版 2017/01/24 富士通株式会社

目次 USBドライバダウンロードの手順...2 USBドライバインストールの手順...3 インストール結果を確認する...19 USBドライバアンインストール / 再インストールの手順...21 USB ドライバダウンロードの手順 1. SHL21 のダウンロードページからダウンロードしてください

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * ; bar[(x * 2) - 1] = (x - 1.0) *

WebOTXマニュアル

Microsoft Word - p2viewer_plus_jpn20.doc

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

MotionBoard Ver. 5.6 パッチ適用手順書

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

自宅でJava言語の開発環境を作る方法

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

Application Note Application Note No. ESC-APN 文書番号 : ESC-APN Tcl link library インストールガイド はじめに Tcl link library インストールガイド ( 以下 本書 ) では Act

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

BricRobo V1.5 インストールマニュアル

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

(Veritas\231 System Recovery 16 Monitor Readme)

zabbix エージェント インストールマニュアル [Windows Server] 第 1.2 版 2018 年 05 月 18 日 青い森クラウドベース株式会社

FlashAir ソフトウェア更新ツール Version 東芝メモリ株式会社 Copyright 2017 Toshiba Memory Corporation, All Rights Reserved. 対応 OS: 最新の対応 OS は Web サイトをご参照ください 概要本ソフ

Maple 12 Windows版シングルユーザ/ネットワークライセンス

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

PCL6115-EV 取扱説明書

Microsoft Word - dotMZ_Users_Guild_JP.docx

FormPat 環境設定ガイド

インストールマニュアル

1 目次 本書の構成 2 体験版申請用総合ソフトの機能 3 申請用総合ソフトとの相違点 体験版申請用総合ソフト ver.3.0 は, 本番用の申請用総合ソフト (3.0A) の機能に擬似データを加えたものです

============================================================

Microsoft Word - tutorial3-dbreverse.docx

AN1609 GNUコンパイラ導入ガイド

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

Total Disc Makerサイレントインストールガイド

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx

Express5800/51Le電源交換

インテル® Parallel Studio XE 2013 Windows* 版インストール・ガイドおよびリリースノート

NetworkVantage 9

Microsoft PowerPoint _2.プログラミングの基礎_final

OTRS10 他社システムOTRS呼出利用手順書

CubePDF ユーザーズマニュアル

セットアップの流れ Graphtec Pro Studio を使用する SAi Cloud へのユーザー登録 1-1 SAi Cloud へのユーザー登録 Graphtec Pro Studio のインストール 1-2 Graphtec Pro Studio のインストール Cutting Mast

Maser - User Operation Manual

Web GIS Template Uploader 利用ガイド

目次 1 はじめに 本文書の概要 PVF ソフトウェアと VISUAL STUDIO PVF ソフトウェアの種類 MICROSOFT VISUAL STUDIO の日本語化について VISUAL STUDIO

NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Develo

Tekla BIMsight 1.9.4

実習を行う上での心構えについて

サポートツール取扱説明書 ( インストール編 ) 第 1.2 版 Copyright (C) MASA Corporation, All Rights Reserved.

アーカイブ機能インストールマニュアル

Microsoft Word - JRE_Update_6.doc

Tebis V3.5 R6 インストールマニュアル 製造ソリューション事業本部 計測製造ソリューション技術部 2013 年 12 月

インストール要領書

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

(3) ソフトウェアのアップデート (3-0) アップデートの開始 今すぐアップデート ボタンをクリックする (3-1) 最新版のダウンロード準備完了 ポップアップウィンドウポップアップウィンドウをクリックする ( マークは避けてクリックすること ) (3-2) ダウンロード準備完了 Java(TM

OneDrive-Oneline_2013

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

KDDI ペーパーレスFAXサービス

Bluetooth MIDI 接続ガイド

DWR-S01D Updater 取扱説明書 発行日 :2011/2/28

1 つのツールを実行するだけで違いが出るのでしょうか? はい 多くの場合 複雑なバグを発見して アプリケーションの安定性を向上させることができます このガイドでは インテル Inspector XE 解析ツールを使用して コードの問題を排除する方法を説明します これにより コードの信頼性が向上し 開

1

Microsoft Word - AW-SF100導入手順書(スタンドアローン版)_ doc

譲渡人複数証明データコンバータ操作説明書 平成 26 年 6 月

Flash Loader

FA/LAインストールガイド(トライアル版)

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

インストールガイド 動作環境 ( 指導者端末 ) OS Microsoft Windows 10(Home / Pro,32bit/64bit 含む ) Creators update 以降.NET Framework インストールガイド CPU グラフィックスメモリ画面解像度 Inte

目次 ハードウェア要件 page 3 バージョンアップ手順 ( 1 )Tebis V3.5 R3 インストール page 4 ~ page 16 ( 2 ) ハードロックドライバのインストール page 17 ~ page 19 ( 3 ) 環境設定 page 20 Tebis 旧バージョンの削除

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

Microsoft Word - HGWEB_Defender_クリーンアップツール_説明書_Rev.1.00.doc

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

地図 SD カードを取り外す 最初に ナビゲーション本体から地図 SD カードを取り外します 本操作は地図 SD カードを初めて ROAD EXPLORER Updater に登録するときや パソコンにダウンロードしたデータを地図 SD カードに保存するときに実行してください 1 ナビゲーション本体

ColorNavigator 7インストールガイド

Microsoft Word - Python利用環境構築ガイド_ docx

Maple 18 スタンドアロン版インストール手順

ご注意 1) 本書の内容 およびプログラムの一部 または全部を当社に無断で転載 複製することは禁止されております 2) 本書 およびプログラムに関して将来予告なしに変更することがあります 3) プログラムの機能向上のため 本書の内容と実際の画面 操作が異なってしまう可能性があります この場合には 実

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

1. 信頼済みサイトの設定 (1/3) この設定をしないとレイアウト ( 公報 ) ダウンロードなどの一部の機能が使えませんので 必ず設定してください 1 Internet Explorer を起動し [ ツール ]-[ インターネットオプション (O)] を選択します 2 [ セキュリティ ] の

Microsoft Word - IVF15.0.1J_Install.doc

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Silk Central Connect 15.5 リリースノート

Cygwinのインストール

Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V /06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明しま

Transcription:

インテル VTune Amplifier Windows 環境向けスタートガイド エクセルソフト株式会社 Version 1.0.0-20180829

目次 1. インテル VTune Amplifier の使用.......................................................... 1 2. インテル VTune Amplifier の基本.......................................................... 1 3. サンプルプログラムを使用したチュートリアル.................................................. 2 3.1. プログラムのビルド...................................................................... 3 3.2. インテル VTune Amplifier の起動...................................................... 5 Visual Studio 統合環境から GUI を起動する................................................. 5 スタンドアロンの GUI を起動する........................................................... 6 3.3. データ収集の開始....................................................................... 9 3.4. ホットスポットの特定................................................................... 10 実行状況を大まかに把握する.............................................................. 10 より詳細な情報を確認する................................................................ 12 3.5. コードの変更と性能向上の確認.......................................................... 15 4. まとめ..................................................................................... 19 5. より高度な機能を使用するために............................................................. 19 6. ドキュメント............................................................................... 19 7. 免責事項.................................................................................. 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 1. インテル VTune Amplifier の使用 1. インテル VTune Amplifier の使用 インテル VTune Amplifier はインテル プロセッサーへの最適化に特化したパフォーマンス プロファイラーです インテル VTune Amplifier を使用することで システム全体や アプリケーションのボトルネックを素早く発見することができます スレッドの効率やメモリーの帯域幅 キャッシュメモリーの利用率など 性能向上にかかわる豊富な情報を収集して 効果的な最適化を支援します このドキュメントでは インテル VTune Amplifier の概要と 製品に含まれるサンプルプログラムを使用して 以下の基本的な使用方法を説明します インテル VTune Amplifier の起動方法 プロジェクトの作成 設定方法 解析結果の表示と 解析画面の見方 ソースコードに掘り下げて解析結果を確認する方法 このドキュメントを進めていくためには すでにインテル VTune Amplifier がインストールされている環境が必要です 2. インテル VTune Amplifier の基本 インテル VTune Amplifier を最大限に活用するためには 前提としてインテル プロセッサーを搭載したシステムが対象です プロセッサーに関する詳細な情報は プロセッサー内部に搭載されているパフォーマンス モニタリング ユニット (PMU) からサンプリング ドライバーを使用して取得します PMU から情報を取得できない環境でも 基本的な性能情報はインテル VTune Amplifier から割り込みをかけて取得することができます また インテル VTune Amplifier は Java C/C++ Fortran.NET Go Python 言語に対応しており多くのアプリケーションの解析に使用できます Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 1 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3. サンプルプログラムを使用したチュートリアル 3. サンプルプログラムを使用したチュートリアル このドキュメントでは C++ 言語で記述された tachyon_vtune_amp_xe の find_hotspots を使用します インテル VTune Amplifier をインストールすると サンプルプログラムもあわせてインストールされるため 別途ダウンロードする必要はありません find_hotspots は効率の悪い処理を実行している箇所がボトルネックとなり 性能が著しく低下しています インテル VTune Amplifier で解析を行い 効率の悪い処理を発見して効果的な処理に置き換えます このガイドでは下記の環境で実行しています 環境により解析から得られるプログラムの性能特性が変化する可能性があります インテル Core i7-7800x プロセッサー 32GB メモリー Microsoft Visual Studio* 2017 バージョン 15.8.1 ( 以下 Visual Studio) Windows 10 Pro 64bit ( バージョン 1803) インテル VTune Amplifier 2018 Update3 Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 2 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.1. プログラムのビルド 3.1. プログラムのビルド 1. tachyon_vtune_amp_xe の配置先にアクセスして 対象のファイルを任意の場所に展開します ここではデスクトップに展開します サンプルプログラムの配置先 C:\Program Files (x86)\intelswtools\vtune Amplifier\samples\en\C++\tachyon_vtune_amp_xe.zip 画像 1. tachyon_vtune_amp_xe の展開 2. tachyon_vtune_amp_xe フォルダ以下の tachyon_vtune_amp_xe.sln ファイルをダブルクリックします サンプルプログラムには Visual Studio 向けに tachyon_vtune_amp_xe.sln ファイルが各 vc フォルダに配置されています C:\< デスクトップ >\tachyon_vtune_amp_xe\tachyon\vc14\tachyon_vtune_amp_xe.sln 画像 2. tachyon_vtune_amp_xe.sln を開きます 3. 上部メニューから [ ビルド ] > [ ソリューションのビルド ] を選択してビルドを行い 実行ファイルを作成します 画像 3. Visual Studio からビルド 4. ビルドしたサンプルプログラムを [ デバッグ ] > [ デバッグなしで開始 ] から実行して プログラムの実行時間を確認します Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 3 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.1. プログラムのビルド 画像 4. デバッグなしで実行 画像 5. find_hotspots.exe の実行 描画処理を完了後 タイトルバーに実行に要した時間が表示されます ここでは 約 10 秒ほどの時間をかけて描画を行ったことが確認できます 10.656 秒の時間をベースラインとして 高速化できる余地があるかどうか インテル VTune Amplifier を使用して性能解析を実行します Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 4 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.2. インテル VTune Amplifier の起動 3.2. インテル VTune Amplifier の起動 これまでの手続きにより サンプルプログラムの描画時間を取得しました インテル VTune Amplifier で性能解析を行い 実行時間を改善するために必要な情報を入手します インテル VTune Amplifier は Visual Studio 環境から もしくはスタンドアロンの GUI を使用して操作します Visual Studio 統合環境から GUI を起動するもしくはスタンドアロンの GUI を起動するのいずれかを操作して インテル VTune Amplifier を起動します Visual Studio 統合環境から GUI を起動する 上部メニューから のアイコンをクリックして インテル VTune Amplifier を起動します 画像 6. Visual Studio 上部メニュー クリックすると Visual Studio 上でインテル VTune Amplifier が起動して [New Amplifier Result] タブが立ち上がります 画像 7. Visual Studio 上のインテル VTune Amplifier Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 5 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.2. インテル VTune Amplifier の起動 スタンドアロンの GUI を起動する スタートメニューを開き VTune Amplifier < バージョン > をクリックする もしくはコマンドプロンプトを開き amplxe-vars.bat を実行後 amplxe-gui コマンドを実行します デフォルトのインストール先では amplxe-vars.bat ファイルは下記に配置されています C:\Program Files (x86)\intelswtools\vtune Amplifier\amplxe-vars.bat 画像 8. スタンドアロンの GUI を開始 スタンドアロン環境では インテル VTune Amplifier が管理するプロジェクトを作成します 解析対象ごとに一つのプロジェクトを作成して管理します サンプルプログラムの tachyon を解析するために新規プロジェクトを作成しましょう 1. をクリックして Create a Project ウィンドウを開き Project name に任意のプロジェクト名を入力します ここでは tachyon-sample とします Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 6 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.2. インテル VTune Amplifier の起動 画像 9. Create a Project ウィンドウ 2. Create Project ボタンをクリックします 続けて Analysis Target タブが開き 解析対象となるアプリケーションやシステムなどの設定を行います 画像 10. Analysis Target タブ 3. ターゲットアプリケーションと作業ディレクトリを設定します をクリックして Application: と Working directory: に それぞれサンプルプログラムの実行ファイルと作業フォルダを指定します Application:* C:\Users\xlsoftkk\Desktop\tachyon\vc14\find_hotspots_Win32_Release\find_hotsp ots.exe Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 7 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.2. インテル VTune Amplifier の起動 Working directory: C:\Users\xlsoftkk\Desktop\tachyon\vc14 画像 11. プロジェクト設定済みの状態 4. Choose Analysis をクリックして 解析タイプの設定に移ります Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 8 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.3. データ収集の開始 3.3. データ収集の開始 ここまでの手続きにより インテル VTune Amplifier でサンプルプログラムが解析できる状態になりました 解析タイプを指定して 実際にインテル VTune Amplifier で解析を実行します このドキュメントでは 解析タイプに Basic Hotspots を選択します Basic Hotspots は一番時間を消費している関数 ( ホットスポット ) を発見する基本的な解析タイプです Basic Hotspots 以外にも 様々な解析タイプがあり それぞれ必要に応じて複数の解析タイプを実行することが可能です 得られた結果は記録され結果ファイルとして保存します 1. 解析タイプに Basic Hotspots を選択して Start ボタンをクリックします 画像 12. 解析の開始 2. プログラムが実行され インテル VTune Amlifier が自動的にデータ収集を開始します プログラムの実行が終了して解析結果が表示されるまで待機します 画像 13. インテル VTune Amplifier による tachyon の解析 Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 9 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.4. ホットスポットの特定 3.4. ホットスポットの特定 インテル VTune Amplifier の解析結果は 複数の画面を参照しつつ 用途に応じて異なる視点から解析情報を提供します Basic Hotspots 解析では下記の 5 つの画面に解析情報が表示されます 使用した解析タイプにより表示される内容は異なります ここでは Summary と Bottom-up に注目します Summary Bottom-up Coller/Collee Top-down Tree Platform 実行状況を大まかに把握する 解析結果を開くと Summary 画面が最初に表示されます Summary 画面では アプリケーションの実行時間や ホットスポット CPU 使用率のヒストグラムから アプリケーションの実行状況をおおまかに把握することができます 画像 14. Summary 画面 Elapsed Time にはアプリケーションの実行から終了までに要した時間が表示されます サンプルプログラムでは 描画後に待機時間が設けられているため プログラムのビルドでベースタイムに設定した時間よりも長くなっていることに注意してください Top Hotspots はアプリケーション中に実行された関数の中から 最も多くの CPU 時間を消費した関数をランキング形式で表示します CPU 時間は CPU が実際にプログラムを実行した時間を計上します ここでは CPU 時間が一番かかっている関数は render_one_pixel 関数だと表示されています さらに Effective CPU Utilization Histogram を見ると サンプルプログラム内部の処理のほとんどは 複数のスレッドを利用して並列に処理されていません Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 10 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.4. ホットスポットの特定 Summary 画面から下記の情報を取得できます プログラム全体の実行時間は約 19 秒 実行時間中の CPU 時間は約 14.5 秒 ホットスポットは render_one_pixel 関数 3 つのスレッドが動作している プログラム中の多くの処理は 1 スレッドで動作しており並列に実行されていない ここでは ホットスポット関数として表示されている render_one_pixel 関数に注目するため より詳細な情報が得られる Bottom-up 画面に移動します 画像 15. Bottom-up 画面に移動 Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 11 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.4. ホットスポットの特定 より詳細な情報を確認する Bottom-up 画面はBottom-up タイムライン コールスタックの3つのペインで構成されています ここでは Bottom-up とタイムラインの情報に注目します Bottom-up : 実行された関数やループ モジュールごとに対応した性能情報を表示します タイムライン : 解析開始から終了までに実行されたスレッド数とスレッドの状態を時系列で表示します コールスタック : Bottom-up で選択したオブジェクトのコールスタックを表示します 画像 16. Bottom-up 画面 Bottom-up を見ると CPU Time の項目で降順にソートされており Summary 画面で確認した情報と同じく render_one_pixel 関数が一番 CPU 時間を消費していることが確認できます render_one_pixel 関数は 解析対象のプログラム find_hotspots.exe に含まれるユーザー関数です render_one_pixel 関数の実行状況をより詳しく把握するために フィルタリング機能を使用して注目しましょう Bottom-up に表示されている render_one_pixel を右クリックして 表示されるメニューから Filter In by Selection を選択します 画像 17. render_one_pixel でフィルタリング Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 12 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.4. ホットスポットの特定 タイムラインから対象の関数が実行されたタイミングや スレッドの動作状況を確認できます タイムラインに表示される茶色の領域は CPU 時間に対応しています 画像 18. フィルタリング結果 タイムラインから render_one_pixel 関数は CPU のリソースを効果的に使用できていない状態が確認できます カーソルをタイムラインに重ねると数値情報を得られます 画像 19. CPU 利用率は低い フィルター機能は をクリックして解除できます ソースコード行のレベルに掘り下げて解析結果を確認します render_one_pixel をダブルクリックしてコードビューに移動します Bottom-up 画面には 関数に対応したソースファイルが項目に表示されます render_one_pixel 関数は find_hotspots.cpp に記述されています 画像 20. render_one_pixel のコードビューに移動 Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 13 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.4. ホットスポットの特定 コードビューでは 対応した関数をコードレベルで確認できます ここでは find_hotspots.cpp ファイルが開かれ render_one_pixel 関数のコードがハイライトされます コードに対応した性能情報が表示されており 注目するべきは render_one_pixel 関数が消費している CPU 時間の 98% が 関数内部でコールしている initialize_2d_buffer 関数によって発生していることです 画像 21. find_hotspots.cpp のコードビュー initialize_2d_buffer 関数は コンパイラーのインライン展開などの理由により 関数情報としてインテル VTune Amplifier に表示されていません Visual Studio のテキストエディターから initialize_2d_buffer の処理を確認します コードビューのいずれかのコード領域をダブルクリックして Visual Studio に移動します Bottom-up 画面とコードビューから下記の情報を取得しました render_one_pixel 関数は find_hotspots.exe のユーザー関数 render_one_pixel 関数は一番 CPU 時間を消費して動作しているが CPU 利用率が悪い render_one_pixel の CPU 時間のほとんどは 内部でコールしている initialize_2d_buffer 関数が消費している Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 14 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.5. コードの変更と性能向上の確認 3.5. コードの変更と性能向上の確認 いままでの手続きにより render_one_pixel 関数でコールされている initialize_2d_buffer 関数が多くの時間を消費していることが確認できました initialize_2d_buffer 関数の実装を変更して性能向上を図ります 1. render_one_pixel 関数でコールされている initialize_2d_buffer 関数 (find_hotspots.cpp : 133 行目 ) を右クリックします 2. [ 定義へ移動 ] をクリックします 画像 22. initialize_2d_buffer の定義に移動 3. initialize_2d_buffer 関数の定義に移動して内部実装を下記のように変更します 78 行目の末尾にある / を削除 91 行目の末尾に / を追加 initialize_2d_buffer 関数は メモリーに対して非連続にアクセスしており 効率の悪い配列の初期化処理が実行されています 連続したアクセスを行う実装がコメントアウトされているので置き換えます Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 15 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.5. コードの変更と性能向上の確認 変更後の find_hotspots.cpp void initialize_2d_buffer (unsigned int mem_array [], unsigned int *fill_value) { // First (slower) method of filling array // Array is NOT filled in consecutive memory address order /*********************************** for (int i = 0; i < mem_array_i_max; i++) { // Try to defeat hardware prefetching by varying the stride int j(0), iteration_count(0); do { mem_array [j*mem_array_i_max+i] = *fill_value + 2; // Code to give the array accesses a non-uniform stride to defeat hardware prefetch if ((iteration_count % 3) == 0) j=j+3; else j=iteration_count; iteration_count++; } while (j < mem_array_j_max); } /***********************************/ } // Faster method of filling array // The for loops are interchanged // Array IS filled in consecutive memory address order /**********************************/ for (int j = 0; j < mem_array_j_max; j++) { for (int i = 0; i < mem_array_i_max; i++) { mem_array [j*mem_array_i_max+i] = *fill_value + 2; } } /***********************************/ 置き換えた状態でビルドをやり直して 再度実行します 4. 上部メニューから [ ビルド ] > [ find_hotspots のビルド ] を選択してビルドを行い 実行ファイルを作成します Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 16 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.5. コードの変更と性能向上の確認 画像 23. プロジェクトのビルド 5. ビルドしたサンプルプログラムを [ デバッグ ] > [ デバッグなしで開始 ] から実行して 描画時間を確認します 画像 24. プログラムの実行 Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 17 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 3.5. コードの変更と性能向上の確認 画像 25. 実行性能が向上したプログラム 描画時間は高速化して 4 秒程度にまで短縮しました 最適化を行う前にベースラインとして計測した 10.656 秒と比較した場合 約 2.5 倍ほどの性能向上が得られました インテル VTne Amplifier で解析すると下記のような結果が得られます 画像 26. インテル VTune Amplifier の結果 Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 18 / 19

インテル VTune Amplifier - Windows 環境向けスタートガイド 4. まとめ 4. まとめ このドキュメントでは インテル VTune Amplifier を使用して 基本的な使用方法からサンプルプログラムのホットスポットを発見して修正する手続きを紹介しました インテル VTune Amplifier には 性能解析に必要な様々な機能を備えており ここではごく一部の機能について説明しています より高度な機能を取得するためには より高度な機能を使用するためにから他のチュートリアルも進めてみてください 5. より高度な機能を使用するために ドキュメントで使用した tachyon プログラムには 異なるチュートリアルの analyze_locks が含まれており マルチスレッド化されたプログラムのボトルネックを発見する手続きの一例を学習することができます analyze_locks のチュートリアルは下記の資料から進めることができます Tutorial: Analyzing Locks and Waits ( 英語 ) また ハードウェア イベントに関わる性能解析を学習するためには 下記の Intel 社 Web ページに公開されている各チュートリアルが参考になります Intel Developer Zone - Intel VTune Amplifier Tutorials ( 英語 ) 6. ドキュメント インテル VTune Amplifier の日本語情報は IA Software User Society ( 以下 isus) に公開されている下記のリンク先からアクセスできます isus - インテル VTune Amplifier 2018 製品ページ インテル VTune Amplifier 2018 のリファレンスガイドには日本語参考訳を見ることができます isus - インテル VTune Amplifier 2018 オンラインヘルプ (isus 翻訳版 ) Intel Developer Zone - Intel VTune Amplifier 2018 User s Guide 7. 免責事項 Intel インテル Intel ロゴ VTune は アメリカ合衆国および / またはその他の国における Intel Corporation の商標です * その他の社名 製品名などは 一般に各社の商標または登録商標です XLsoft ロゴ XLsoft は XLsoft Corporation の商標です インテル ソフトウェア製品のパフォーマンス / 最適化に関する詳細は Optimization Notice ( 最適化に関する注意事項 ) を参照してください Copyright 2015-2018 XLsoft Corporation. All Rights Reserved. 19 / 19