Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Advanced Modular Software Performance Monitoring
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Sasha Mazurov
May 30, 2012
Technology
270
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Advanced Modular Software Performance Monitoring
CPU profiling with Intel® VTune™ Amplifier XE
Sasha Mazurov
May 30, 2012
More Decks by Sasha Mazurov
See All by Sasha Mazurov
L1Calo Offline Software Status
mazurov
0
81
Performance and Regression tests for Simulation
mazurov
0
100
About v2
mazurov
0
82
L1Calo Offline Software Status
mazurov
0
110
L1Calo Offline Software Status
mazurov
0
120
LHCbPR V2
mazurov
0
160
Paper approval
mazurov
0
97
Conventions' Publications
mazurov
0
85
Ph.D final exam
mazurov
0
150
Other Decks in Technology
See All in Technology
20分でわかるセキュアAPI
nwiizo
2
320
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
120
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
660
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
180
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
160
猫付きpingコマンドを自作
uyuki234
0
290
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
430
LanceDB入門
mocobeta
9
640
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
180
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
270
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
30 Presentation Tips
portentint
PRO
1
370
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Between Models and Reality
mayunak
4
400
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Writing Fast Ruby
sferik
630
63k
WENDY [Excerpt]
tessaabrams
11
39k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
Advanced Modular Software Performance Monitoring CPU profiling with Intel® VTune™
Amplifier XE Alexander Mazurov Ferrara University, CERN
2 I. Event Processing Software II. Profilers III. Intel® VTune™
Amplifier XE IV. Gaudi Framework V. Gaudi Intel Profiler Auditor VI. Profiling examples
3 Physics events The Higgs Boson Simulation * Trigger *
Analysis I. Event Processing Software
4 Detector events Events to storage 106 events/sec 4500 events/sec
LHCb High Level Trigger (HLT) Software Moore
5 II. Profilers Collect information related to how an
application or system perform.
6 Measure frequency and duration of functions calls and/or code
instructions. CPU Profiler
7 Profiling Techniques - Hardware counters - Instrumenting the code
8 Hardware counters Exploit hardware performance counters from Performance Monitoring
Unit (PMU) Counters: - Translation lookaside buffer (TLB) misses - Cache misses - Stall cycles - Memory access latency - ... Perfmon2 * Intel VTune Amplifier
9 Instrumenting the code - Statically: * Change code manually
/ automatically * Compiler assisted (gcc -pg) - Dynamically (at runtime): * Change code in runtime - Valgrind - Google Performance Tools - Intel VTune Amplifier
10 III. VTune™ Amplifier XE Performance Profiling Tool - x86
(32 and 64-bit) - GUI and CLI
11 VTune™ Features Runtime instrumenting profiler - User-mode sampling -
Hardware-based sampling - Concurrency and locks and waits analysis - Threading timeline - Attach to a running process - Source view
12 1) Interupts a process 2) Collect samples of all
active instruction addresses 3) Restore a call sequence upon each sample. How user-mode sampling works?
13 User-mode analysis types - Hotspots - Concurrency - Locks
and Waits
14 User-mode sampling Hotspots analysis:
15 Group results
16 Call Stack
17 Filter by timeline
18 CPU time by code line Debug mode (-g)
19 User-mode sampling is a statistical method and does not
provide a 100% accurate results. Accuracy depends on: - Duration of the collection - Speed of processor - Amount of software activity - Sampling interval * recommended value is 10 ms * profiling is only 5% slower Sampling Accuracy
20 Integrating VTune™ Amplifier to Event Processing Framework
21 IV. Gaudi Event processing framework Moore Trigger Gauss Simulation
Brunel Reconstruction Online Monitoring and commissioning DaVinci Physics analysis
22 Gaudi Architecture Algorithms * Services * Tools
23 Moore Event Loop Hlt1DiMuonHighMassFilterSequence Hlt1DiMuonHighMassStreamer FastVeloHlt MuonRec Velo2CandidatesDiMuonHighMass GECLooseUnit
createITLiteClusters createVeloLiteClusters Algorithms Sequence How to profile algorithms?
24 V. Gaudi Intel Profiling Auditor VTune™ User API +
Gaudi Auditors API
25 VTune™ User API - Start/Pause profiling - Mark profiling
regions
26 Gaudi Auditors API Algorithm Start event End
event Callback functions
27 Algorithms profiling (I) CPU time per sequence branch
28 Algorithms profiling (II)
29 Gaudi configuration from Configurables import IntelProfilerAuditor profiler = IntelProfilerAuditor()
profiler.StartFromEventN = 5000 profiler.StopAtEventN = 15000 AuditorSvc().Auditors += [profiler]
30 Run: $> intelprofiler -o /collected/data job.py Analyze (GUI): $>
amplxe-gui /collecter/data/r001hs Analyze (CLI): $> amplxe-cl -reports hotspots -r /collecter/data/r001hs
31 VI. Profiling examples 1. Memory allocation functions 2. Measuring
profiling accuracy 3. Custom reports
32 1. Memory allocation functions operatornew from libstdc++ library: tc_new
from tcmalloc library: tc_new uses twice less time then operatornew
33 2. Measuring profiling accuracy Intel Profiling Auditor vs .
Timing Auditor Measures the absolute time of algorithm's run 1000 events
34 3. Custom reports Build reports using CSV files exported
from VTune Amplifier
35 Conclusions Intel® VTune™ Amplifier XE: + Various analysis types
and reports + Rich User API + Reasonable overhead time