NVIDIA Profiler’s Guide

Slides:



Advertisements
Similar presentations
Instructor Notes This lecture describes the different ways to work with multiple devices in OpenCL (i.e., within a single context and using multiple contexts),
Advertisements

Intermediate GPGPU Programming in CUDA
Copyright © 2008 SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Optimization on Kepler Zehuan Wang
1 A GPU Accelerated Storage System NetSysLab The University of British Columbia Abdullah Gharaibeh with: Samer Al-Kiswany Sathish Gopalakrishnan Matei.
Profiling your application with Intel VTune at NERSC
Intel® performance analyze tools Nikita Panov Idrisov Renat.
Xingfu Wu Xingfu Wu and Valerie Taylor Department of Computer Science Texas A&M University iGrid 2005, Calit2, UCSD, Sep. 29,
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
GPUs on Clouds Andrew J. Younge Indiana University (USC / Information Sciences Institute) UNCLASSIFIED: 08/03/2012.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Tools for Investigating Graphics System Performance
Visual Basic Project 1 IDS 306 Spring 1999 V. Murphy.
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
Profiling & Tuning Applications CUDA Course July István Reguly.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 14 Server and Network Monitoring.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Guide to MCSE , Enhanced 1 Activity 10-1: Restarting Windows Server 2003 Objective: to restart Windows Server 2003 Start  Shut Down  Restart Configure.
Shekoofeh Azizi Spring  CUDA is a parallel computing platform and programming model invented by NVIDIA  With CUDA, you can send C, C++ and Fortran.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
What is Concurrent Programming? Maram Bani Younes.
1 Integrating GPUs into Condor Timothy Blattner Marquette University Milwaukee, WI April 22, 2009.
Microsoft Visual Basic 2005: Reloaded Second Edition
WORK ON CLUSTER HYBRILIT E. Aleksandrov 1, D. Belyakov 1, M. Matveev 1, M. Vala 1,2 1 Joint Institute for nuclear research, LIT, Russia 2 Institute for.
An Introduction to Visual Basic
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
General Purpose Computing on Graphics Processing Units: Optimization Strategy Henry Au Space and Naval Warfare Center Pacific 09/12/12.
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Profiling and Tuning OpenACC Code. Profiling Tools (PGI) Use time option to learn where time is being spent -ta=nvidia,time NVIDIA Visual Profiler 3 rd.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Introduction to VSTS Introduction to Visual Studio 2008 Development Edition Understanding code complexity using Code Metrics.
CS333 Intro to Operating Systems Jonathan Walpole.
Training Program on GPU Programming with CUDA 31 st July, 7 th Aug, 14 th Aug 2011 CUDA Teaching UoM.
Some key aspects of NVIDIA GPUs and CUDA. Silicon Usage.
Introduction to CUDA CAP 4730 Spring 2012 Tushar Athawale.
Shangkar Mayanglambam, Allen D. Malony, Matthew J. Sottile Computer and Information Science Department Performance.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Sunpyo Hong, Hyesoon Kim
NVIDIA® TESLA™ GPU Based Super Computer By : Adam Powell Student # For COSC 3P93.
Chapter 4 – Thread Concepts
Computer Engg, IIT(BHU)
Lecture 3 CUDA Programming 1
Lecture 18 CUDA Program Implementation and Debugging
Chapter 1 Introduction to Visual Basic
Dive Into® Visual Basic 2010 Express
Chapter 3: I Need a Tour Guide (Introduction to Visual Basic 2012)
Gwangsun Kim, Jiyun Jeong, John Kim
CS427 Multicore Architecture and Parallel Computing
Introduction to Visual Basic 2008 Programming
Chapter 5: Using System Software
Mobile Operating System
Chapter 4 – Thread Concepts
CS399 New Beginnings Jonathan Walpole.
1. Introduction to Visual Basic
Introduction to Operating System (OS)
Programming languages and software development
Pipeline parallelism and Multi–GPU Programming
CS 179 Lecture 14.
VISUAL BASIC.
PerfView Measure and Improve Your App’s Performance for Free
What is Concurrent Programming?
What is Concurrent Programming?
CUDA Execution Model – III Streams and Events
TECHNOLOGY GUIDE TWO Software.
GPU Scheduling on the NVIDIA TX2:
Presentation transcript:

NVIDIA Profiler’s Guide 20163007 Sanghoon Kang

Outline Introduction User Guide Conclusion NVIDIA Profiler Necessity of the Profiler User Guide nvprof Visual Profiler (nvvp) Analysis Conclusion

Outline Introduction User Guide Conclusion NVIDIA Profiler Necessity of the Profiler User Guide nvprof Visual Profiler (nvvp) Analysis Conclusion

NVIDIA Profiler What is a Profiler? Types of NVIDIA Profilers 1. Introduction NVIDIA Profiler What is a Profiler? Tool that enables you to understand and optimize the performance of your CUDA applications Types of NVIDIA Profilers nvprof Visual Profiler (nvvp)

Necessity of a Profiler 1. Introduction Necessity of a Profiler Application using both CPU & GPU Performance Limiters Memory / Instruction bandwidth Latency of execution  Need profiler to find out what limits the application’s performance (speed)

Outline Introduction User Guide Conclusion NVIDIA Profiler Necessity of the Profiler User Guide nvprof Visual Profiler (nvvp) Analysis Conclusion

nvprof Terminal based profiler with textual reports Usage of nvprof 2. User Guide nvprof Terminal based profiler with textual reports Summary of GPU & CPU activity Trace of GPU & CPU activity Event collection Usage of nvprof Terminal command $ nvprof [ nvprof_args ] <app> [apps_args] Argument help $ nvprof --help

nvprof GPU Summary Summary of each kernel functions Number of calls 2. User Guide nvprof GPU Summary Summary of each kernel functions Number of calls Execution time (Avg, min, max) Time portion to the total application running time

nvprof GPU Trace More detailed analysis Starting point, duration 2. User Guide nvprof GPU Trace More detailed analysis Starting point, duration Grid & block allocations Size & Throughput of mempcy

nvprof CPU / GPU Trace Enables API functions to be printed out 2. User Guide nvprof CPU / GPU Trace Enables API functions to be printed out Show internal kernel functions Synchronization between CPU & GPU

nvprof Profile Data Import / Export Produce profile data into a file 2. User Guide nvprof Profile Data Import / Export Produce profile data into a file $ nvprof -o profile.out <app> <app args> Import into nvprof to generate textual outputs $ nvprof -i profile.out $ nvprof -I profile.out --print-gpu-trace $ nvprof -I profile.out --print-api-trace Import into Visual Profiler Enables graphic user interface File menu  Import nvprof profile

Visual Profiler Graphic User Interface (GUI) based profiler 2. User Guide Visual Profiler Graphic User Interface (GUI) based profiler Standalone (nvvp) Integrated into NVIDIA Nsight Eclipse Edition (nsight) Nvidia Nsight Visual Studio Edition Usage of nvvp $ nvvp

2. User Guide Visual Profiler Creating a New Session

Visual Profiler Creating a New Session – Selecting Options 2. User Guide Visual Profiler Creating a New Session – Selecting Options

2. User Guide Visual Profiler Timeline

2. User Guide Visual Profiler Timeline - CPU

2. User Guide Visual Profiler Timeline - GPU

2. User Guide Visual Profiler Timeline - GPU

2. User Guide Visual Profiler Kernel Function Properties

2. User Guide Visual Profiler Device Properties

Analysis Visual Inspection of Timeline 2. User Guide Analysis Visual Inspection of Timeline Understand CPU / GPU interactions Is the application taking advantage of both CPU & GPU? Is CPU waiting on GPU? Is GPU waiting on CPU? Look for potential concurrency opportunities Overlap memcpy and kernel Concurrent Kernels

2. User Guide Analysis Automated Analysis

Analysis Focused Profiling Setting region of interest (ROI) 2. User Guide Analysis Focused Profiling Setting region of interest (ROI) Specify representative subset of app. Execution Manual exploration and analysis simplified Automated analysis focused on performance of ROI How to? cudaProfilerStart() / cudaProfilerStop() in the code Include cuda_profiler_api.h

Outline Introduction User Guide Conclusion NVIDIA Profiler Necessity of the Profiler User Guide nvprof Visual Profiler (nvvp) Analysis Conclusion

Conclusion Goal of Using Profilers Tools for Profiling Find out performance limiters of data & computation intensive applications Optimal resource distribution across application Overlapping procedures  Latency hiding Tools for Profiling Nvprof Terminal based texture profiling Visual Profiler GUI based profiling with timeline