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

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

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

サイボウズ Office 10「個人フォルダ」

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

産能大式フローチャート作成アドインマニュアル

ピクセル同期を利用した順不同半透明描画 (更新)

View Licenses and Services (customer)

障害およびログの表示

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

C1Live

hotspot の特定と最適化

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

サイボウズ Office「リンク集」

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

PE4 Training Text 2

サイボウズ Office 10「個人フォルダ」

200_CAD(画面回りの機能)の基本操作

サイボウズ Office 10「通知一覧」

工程’S 9 ヘルプ Excelバーチャート(Sカーブ)

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降)

McAfee SaaS Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護

HP Primeバーチャル電卓

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

Microsoft* Windows* 10 における新しい命令セットの利用

目次 1. CAD インターフェイス (3D_Analyzer&3D_Evolution) ユーザーインターフェイス機能強化 (3D_Analyzer&3D_Evolution)... 3 レポート... 3 クリッピング機能... 4 言語... 4 表示オプション

すると メインメニューと呼ばれる DC さくらのメインウィンドウ部が表示されます ( 下の画面がスクリーンシ ョットです ) メインメニューは ウィンドウ右上の ボタンを押すと閉じます リスト内のアイテムは ダウンロードのタスクを表します ダウンロード状況を把握できます メニュー項目やボタンの説明は

機能紹介:コンテキスト分析エンジン

データバンクシステム構築業務

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

FileExplorer for ASP.NET Web Forms

< 目次 > 1. パソコンの画面構成... 3 連絡先一覧... 3 連絡先一覧の切り替え... 4 連絡先... 6 付帯情報... 7 関連... 7 代行入力... 8 CRM... 8 グローバルメニュー SkyDesk Cards R for ios 画面構成... 12

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

FTPサーバーへのアクセス権限設定

【rakumoソーシャルスケジューラー】管理者マニュアル<Lightning UI版>

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ

COMSOL Multiphysics®Ver.5.3 パイプ流れイントロダクション

目次 NETGEAR WiFi Analytics を使用した WiFi 環境の調査方法... 1 NETGEAR WiFi Analytics を使用した WiFi 環境の調査方法... 3 Windows... 4 事前準備... 4 NETGEAR Genie のインストール... 4 NET

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

FutureWeb3 Web Presence Builderマニュアル

2 / 8 オンデマンドダウンロード機能 を使用するときに次の制約があります 1. インターネットに接続されていない ( オフライン ) 場合は OneDrive エリアのみにあるファイルを開くことはできない 2.OneDrive エリアからダウンロードが完了するまでいくらか待たされるし ( 特に大

GRIDY SFA Google Apps カレンダー連携 操作ガイド (1.0 版 ) 2016 年 3 月 16 日 KDDI 株式会社

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

まう不具合を解消 Windows10 バージョン1803で ディスプレイのサイズを125% 150% にすると STORM VのTOP 画面がズレてしまう不具合を解消しました 6. 動画 + 音声 コンテンツをインポートすると再編集出来なくなる不具合を解消 スライド+ 動画 + 音声 コンテンツをイ

8021.X 認証を使用した Web リダイレクトの設定

Welcome-Kit ~STM32L4-Nucleo~

ThinkPad Wireless WAN Card Quick Start Guide_JA

作業環境カスタマイズ 機能ガイド(応用編)

WebReportCafe

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ

サイボウズ Office 10「リンク集」

Source Insight

imageWARE Desktop Therefore連携ガイド

1. ログイン 1. インターネットに接続をします 2. ご利用のブラウザー (Internet Explorer,Netscape など ) を起動し アドレスバーに ( www は不要 ) と入力します 3.Log-in 画面にお客様のユーザー I

プロフィールを編集するにはほかの人のプロフィールが表示されているときは 自分のアカウント名をクリックし プロフィール } タブをクリックし skype 表示名をクリックします 新しい skype 表示名を入力し をクリックすると Skype 表示名がへんこうされます { 番号を追加 } をクリックし

WeChat 認証ベースのインターネット アクセス

Jimdo解説.indd

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378>

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

使える! IBM Systems Director Navigator for i の新機能

. プリンタードライバー画面と設定方法 Windows 98/Me の場合 Windows 98/Me には プリンタードライバーの設定画面を表示させる方法が 種類あります Windows 98/Me で [ プリンタ ] ウィンドウからプロパティを表示する アプリケーションから印刷するときの初期値

Groups for Business とは Google グループを使用すると 組織の内外のユーザーと 効率的なコミュニケーションを図ることができます グループ の作成と管理をチームに任せることができ コラボレーショ ンが容易に実現します Groups for Business を使用すると もっ

manual

EP-708A

Microsoft Word - Gw「設定」基本マニュアル_ FIX_.doc

はじめに GeminiはMacの容量を消費する重複ファイルを検出し削除するためのツールです 高度なスキャンアルゴリズム 優れたデザイン 使いやすいインターフェイスで Macから驚くほど重複ファイルがなくなります Geminiで音楽 動画 ドキュメントなどの様々な重複したファイルを検出し 削除しましょ

WebMail ユーザーズガイド

デジタルペーパーとコンピューターを Bluetooth 接続するには (Windows 編 ) デジタルペーパーとコンピューターを Bluetooth 接続するには 下記の手順に従って デジタルペーパーとコンピューターを Bluetooth ペアリングしたあと Digital Paper App を

分析のステップ Step 1: Y( 目的変数 ) に対する値の順序を確認 Step 2: モデルのあてはめ を実行 適切なモデルの指定 Step 3: オプションを指定し オッズ比とその信頼区間を表示 以下 このステップに沿って JMP の操作をご説明します Step 1: Y( 目的変数 ) の

AKiTiO Thunderboltシリーズ 設定ガイド -ソフトウェアRAIDの構成(Mac OS X/macOS)

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

Transcription:

コールスタックを利用したルーフライン Alexandra S. (Intel) 2017 年 12 月 1 日公開 この記事は 2017 年 12 月 18 日時点の インテル デベロッパー ゾーンに公開されている Roofline with Callstacks の日本語訳です 注 : この記事の一部のスクリーンショットにはオレンジ色の点が表示されています デフォルト設定では これらの点は赤または黄色になります 赤と黄色の間のオレンジ色の点は カスタマイズ メニューで追加されたものです コールスタックを利用したルーフラインは インテル Advisor のキャッシュを考慮したルーフラインの拡張機能です この機能は 2018 Update 1 で正式にサポートされました 2018 初期リリースでは 階層ルーフラインという名前のプレビュー機能でしたが 似た名前の異なる機能との混同を避けるため 現在の名前に変更されました オリジナルのキャッシュを考慮したルーフラインとコールスタックを利用したルーフラインの違いは 自己データと合計データの解釈です 自己データとは 呼び出されたほかの関数やループに起因するデータを除いた ループや関数自体にのみ関連するデータ ( メモリーアクセス FLOP 期間) です 合計データは 外部の関数やループ自体に起因するデータに加えて その内部で呼び出された関数やループからのデータを含みます

for (int x = 0; x < X_MAX; x++) { /* これらの 3 つの行は外部ループの自己データと * 合計データの両方にカウントされます */ bar[x * 2] = x * 42.0 + 7.0; bar[(x * 2) - 1] = (x - 1.0) * 42.0 + 7.0; bar[x] = 23.9 * 83.9 / 31.2; /* foobar() と内部ループで実行される操作は * 外部ループの合計データにのみカウントされます */ foobar(); for (int y = 0; y < Y_MAX; y++) { foo[y*2] = y * 42.0 + 7.0; } } インテル Advisor のオリジナルのキャッシュを考慮したルーフラインでは 自己データのみ表示され 点と点の関係は示されていませんでした コールスタックを利用したルーフラインは 自己データに加えて合計データを利用します また 関連する点を簡単に識別できるように ナビゲーション可能なコールスタックとビジュアル インジケーターを提供します ユースケース

コールスタックを利用したルーフラインは合計データを利用するため データ粒度を調整できます インテル Advisor のオリジナルのルーフライン実装では 上記の例の外部ループの全体像を把握することは不可能でした 内部ループ 外部ループの自己データ ( 何も呼び出していない ) foobar() のみ表示されているためです オリジナルのキャッシュを考慮したルーフラインでは 最適化する価値のあるループに関する洞察は得られますが 同じ場所から呼び出される小さな点のクラスターに関する洞察は提供されません コールスタックを利用したルーフラインは点の多いルーフラインを単純化できます いくつかの小さなループは開始ポイントを共有する場合があります その場合 グラフ上の多くの小さな点を読むのではなく 点のクラスターの全体像に注目したほうが効果的です 共有された開始ポイントを明らかにすることにより 開発者はループのみではなく ループのソースを調査して 小さなループのパフォーマンスが低い根本的な原因となりうる非効率なコールチェーンを特定することができます コールスタックを利用したルーフラインは 異なる状況の下で呼び出されたときに動作が異なる関数やループを正確に把握するのに非常に役立ちます オリジナルのキャッシュを考慮したルーフラインは関数ごとに 1 つの点を描画していましたが 呼び出し情報を含めることにより コールスタックの異なる関数やループのインスタンスを区別して それらの動作および特性を別々に解析することができます

解析の実行 注 : 2018 初期リリースを使用しているユーザーは インテル Advisor でコールスタックを利用したルーフラインのデータを収集または表示する前に 環境変数 ADVIXE_EXPERIMENTAL=roofline_ex を設定してプレビュー機能を有効にする必要があります 2018 Update 1 以降を使用しているユーザーは この処理は必要ありません GUI 標準ルーフラインと同様に [Run Roofline ( ルーフライン実行 )] ショートカット ボタンを使用するか サーベイ解析の後に FLOPS によるトリップカウント解析を実行して ( トリップカウントはオプション ) ルーフライン解析を実行できます どちらの場合でも [Run Roofline ( ルーフライン実行 )] ショートカット ボタンの下の [Enable Roofline with Callstacks ( コールスタックを利用したルーフラインを有効にする )] チェックボックスをオンにする必要があります [Enable Roofline with Callstacks ( コールスタックを利用したルーフラインを有効にする )] チェックボックスは [Project Properties ( プロジェクト プロパティー )] の [Trip Counts and FLOPs Analysis ( トリップカウントと FLOPS 解析 )] タブの [Collect stacks ( スタックを収集する )] チェックボックスと連動しています 一方のチェックボックスをオンにすると もう一方のチェックボックスもオンになります

結果を表示するときは 右上のルーフライン オプションの横にある [Show Roofline with Callstacks ( コールスタックを利用したルーフラインを表示する )] チェックボックスがオンになっていることを確認してください このチェックボックスが表示されていない場合は チェックボックスが表示されるまでルーフラインの表示幅を広げてください コマンドライン 2018 Update 1 のコマンドラインでコールスタックを利用したルーフラインの情報を収集するには 次のコマンドを使用します advixe-cl -collect roofline -stacks -project-dir MyResults -- MyExecutable サーベイ解析とトリップカウント解析を別々に収集する場合 またはすでに作業している標準サーベイレポートに FLOPS データを追加する場合は コマンドラインで -flop オプションと -stacks オプションを使用します advixe-cl -collect survey -project-dir MyResults -- MyExecutable advixe-cl -collect tripcounts -flop -stacks -project-dir MyResults -- MyExecutable 重要なのは FLOPS データであるため トリップカウント データの収集はオプションです 注 : ルーフライン収集タイプと上記で指定したオプションはどちらも 2018 初期リリースには存在しません 2018 初期リリースでは 環境変数が設定されていることを確認した後 次のオプションを指定して 標準のサーベイ収集およびトリップカウント収集を実行してください advixe-cl -collect survey -project-dir MyResults -- MyExecutable advixe-cl -collect tripcounts -flops-and-masks -callstack-flops -project-dir MyResults MyExecutable これらのオプションは Update 1 で非推奨になりました -flop オプションおよび -stacks オプションを使用してください

グラフを読む コールスタックを利用したルーフラインは ルーフライン グラフにシンボルとビジュアル インジケーターを追加します ルーフラインの基本的な読み方に関する情報は インテル Advisor のルーフラインの記事を参照してください 新機能の 1 つは 呼び出し元 / 呼び出し先矢印です グラフの点を選択すると その直接の呼び出し元と呼び出し先が矢印で示されます 上の図では オレンジ色の点 B が選択され 灰色の点 A が呼び出し元であることを示す逆矢印の青の線と 選択したループが黄色のループ C と灰色のループ D を直接呼び出していることを示す通常矢印の黒の線が示されています もう 1 つの新機能は 図の右のコールスタック表示です このリストは 選択したループのコールチェーン全体を表示します ( 呼び出し先は除きます ) スタックの各レベルの横の点に グラフの点の現在の色が表示されます このリストの項目をクリックすると ルーフライン グラフの対応する点が点滅します

詳細なコールツリーは [Top Down ( トップダウン )] タブの下のペインに表示されます 1 つのコールチェーンではなく ツリー全体が表示されます 分岐は 展開および折りたたむことができ 直接接続されていないノードを見つけるのに役立ちます 同様に ルーフライン グラフの点も プラスボタンとマイナスボタンを使用して展開する / 折りたたむことができます コールツリーと同様に 指定したノードを折りたたむと そのノードの下の項目はすべて 直接の呼び出し先でないものも含め非表示になります 点を折りたたむ / 展開すると 点の表示のベースとなるデータが変更されます 自己データのないループおよび関数は 展開されたときに灰色で表示され 折りたたまれたときに色付きで表示されます 自己データのあるノードは 展開したときに適切な座標 サイズ 色で表示されますが 合計時間に対応したサイズの灰色の輪が付きます これらのループを折りたたむと 合計時間に対応するサイズと色に変更され 必要に応じて 合計パフォーマンスと合計演算密度を反映するように移動します 上の図の左に表示されている灰色の情報ボックスはインテル Advisor では表示されません 分かりやすいように図に追加したものです このボックスの情報は インテル Advisor の [Top Down ( トップダウン )] タブの横にある [Code Analytics ( コード解析 )] タブに表示されます [Code Analytics ( コード解析 )] タブは いくつかの折りたたみセクションに さまざまな有用なメトリックを含んでいます 自己演算密度と合計演算密度 メモリーアクセス 経過時間 FLOPS に関する情報は FLOPS 折りたたみセクションに表示されます 最後に ルーフライン グラフの十字アイコンはアプリケーション全体を表し プログラム全体の合計演算密度と合計 GFLOPS の座標に配置されることに注意してください グラフのルートノードは そのコールツリーにアプリケーション全体を含み 合計データはプログラム全体のデータになります つまり ルートノードは常に十字の場所に折りたたまれます コンパイラーの最適化に関する詳細は 最適化に関する注意事項を参照してください Intel インテル Intel ロゴは アメリカ合衆国および / またはその他の国における Intel Corporation の商標です * その他の社名 製品名などは 一般に各社の表示 商標または登録商標です 2018 Intel Corporation.