GPU Tools Sandra Wienke

Size: px
Start display at page:

Download "GPU Tools Sandra Wienke"

Transcription

1 Sandra Wienke Center for Computing and Communication, RWTH Aachen University MATSE HPC Battle 2012/13 Rechen- und Kommunikationszentrum (RZ)

2 Agenda IDE Eclipse Debugging (CUDA) TotalView Profiling (CUDA & OpenACC) NVIDIA Visual Profiler Appendix Debugging host code with TotalView 2

3 IDE - Eclipse Eclipse + Parallel NSight: IDE for GPU programming CUDA syntax highlighting, CUDA debugging, CUDA profiling OpenACC programming, OpenACC profiling Using Nsight on RWTH Cluster environment module load cuda nsight 1. Chose workspace 2. File New Makefile Project with Existing code 3. Chose file directory of CG Solver 4. Toolchain: CUDA Toolkit Create Makefile targets (Makefile Tab in right pane), e.g. cuda, clean 6. Double click on Makefile target for execution or download Parallel Nisght: 3

4 IDE - Eclipse Debugging (CUDA) Use the debug configuration of Makefile to create executable Press debug button (green bug) Proceed (even if errors) Switch to debug perspective (Application will suspend in the main function. At this point there is no GPU code running) Add a breakpoint in the device code Resume the application Profiling (CUDA, OpenACC) Uses internally NVIDIA s Visual Profiler (see later) Use the release target of Makefile to create executable Press profile button (watch) Proceed (even if errors) Switch perspective Ouput/ interpretation see chapter NVIDIA Visual Profiler 4

5 Agenda IDE Eclipse Debugging (CUDA) TotalView Profiling (CUDA & OpenACC) NVIDIA Visual Profiler Appendix Debugging host code with TotalView 5

6 Debugging (CUDA) Debugging host code as usual Debugging GPU kernels requires special tools CUDA debuggers available OpenACC debuggers not available Compiling CUDA applications nvcc [-arch=sm_20] mykernel.cu RWTH Cluster environment: module load cuda Debugging flags: -g G nvcc g G [-arch=sm_20] mykernel.cu (see Makefile debug target) CUDA command line tools Debugger: cuda-gdb Detecting memory access errors: cuda-memcheck 6

7 Debugging (CUDA) CUDA GUI-based debugger: TotalView Debugging host and device code in same session Thread navigation by logical or physical coordinates Displaying hierarchical memory, General information on debugging with TotalView can be found in the appendix CUDA GUI-based debugger: Eclipse (see above) RWTH Cluster environment: module load totalview totalview If you get an error concerning the CUDA version, try to compile your application with CUDA 4.1: module switch cuda cuda/41 7

8 Debugging (CUDA) - TotalView Setting breakpoints in CUDA kernels Start debugging (e.g. Go ) Message box when kernel is loaded: Set kernel breakpoints as in host code 8

9 Debugging (CUDA) - TotalView Debugger thread IDs in Linux CUDA process Host thread: positive no. CUDA thread: negative no. GPU thread navigation Logical coordinates: blocks (3 dimensions), threads (3 dimensions) Physical coordinates: device, SM, warp, core/lane Only valid selections are permitted 9

10 Debugging (CUDA) - TotalView Warp: group of 32 threads Share one PC Advance synchronously Problem: Diverging threads if (threadidx.x > 2) {...} else {...} Single Stepping Advances all GPU hardware threads within same warp Stepping over a syncthreads() call advances all threads within the block Advancing more than just one warp Halt Run To a selected line number in the source pane Set a breakpoint and Continue the process Stops all the host and device threads 10

11 Debugging (CUDA) - TotalView Displaying CUDA device properties Tools - CUDA Devices Helps mapping between logical & physical coordinates PCs across SMs, warps, lanes GPU thread divergence? Different PC within warp Diverging threads 11

12 Debugging (CUDA) - TotalView Displaying GPU data Dive into variable or watch Type in Expression List Device memory notation Meaning of address Offset within global storage Offset within shared storage Offset within local storage PTX register name Offset within generic address space (e.g. pointer to global, local or shared memory) Offset within constant storage Offset within texture storage Offset within parameter storage 12

13 Debugging (CUDA) - TotalView Checking GPU memory Enable CUDA Memory checking during startup or in the Debug menu Detects global memory addressing violations and misaligned global memory accesses Further features Multi-device support Host-pinned memory support MPI-CUDA applications 13

14 Debugging (CUDA) - Tips Check CUDA API calls All CUDA API routines return error code (cudaerror_t) Or cudagetlasterror() returns last error from a CUDA runtime call cudageterrorstring(cudaerror_t) returns corresponding message 1. Write a macro to check CUDA API return codes or use SafeCall and CheckError macros from cutil.h (NVIDIA GPU Computing SDK) 2. Use TotalView to examine the return code Evaluate the CUDA API call in the expression list If needed, dive on the error value and typecast it to an cudaerror_t type You can also surround the API call by cudageterrorstring() in the expression field and typecast it to char[xx]* 14

15 Debugging (CUDA) - Tips Check + use available hardware features printf statements are possible within kernels (since Fermi) Use double precision floating point operations (since GT200) Enable ECC and check whether single or double bit errors occurred using nvidia-smi -q (since Fermi) Check final numerical results on host While porting, it is recommended to compare all computed GPU results with host results 1. Compute check sums of GPU and host array values 2. If not sufficient, compare arrays element-wise Comparative debugging approach, e.g. statistics view 15

16 Debugging (CUDA) - Tips Check intermediate results If results are directly stored in global memory: dive on result array If results are stored in on-chip memory (e.g. registers) tedious debugging TotalView: View of variables across CUDA threads not possible yet 1. Create additional array on host for intermediate results with size #threads * #results * sizeof(result) Use array on GPU: each thread stores its result at unique index Transfer array back to host and examine the results 2. If having a limited number of thread blocks: create additional array in shared memory within kernel function: shared myarray[size] Use defines to exchange access to on-chip variable with array access Examine results by diving on array and switching between blocks Use filter, array statistics, freeze, duplicate, last values and watch points 16

17 Agenda IDE Eclipse Debugging (CUDA) TotalView Profiling (CUDA & OpenACC) NVIDIA Visual Profiler Appendix Debugging host code with TotalView 17

18 Profiling (CUDA & OpenACC) Profiling = Analyze behavior of application during runtime e.g. runtime of functions, memory throughput NVIDIA Visual Profiler for CUDA & OpenACC codes Profiles only GPU data movement & computation (not host code) 1. Compile your program and start the profiler nvvp 2. Select File New Session 3. Chose your executable as file Specify arguments, e.g. the matrix file RWTH Cluster environment: module load cuda nvvp Specify envrionment variables, e.g. CG_MAX_ITER 4. If you want to shorten the execution time, set a timeout limit 5. Finish the session configuration & wait for results 18

19 Profiling (CUDA & OpenACC) 19

20 Profiling (CUDA & OpenACC) Session Tab Timeline Long memory copy from host to device Timeline Short memory copy from device to host Collpase to see summarized info only Compute time for first kernel Is data only transfered when needed? Which kernel does need the most time? 20

21 Profiling (CUDA & OpenACC) Analysis Tab Gives hints for optimization (not always useful) Details Tab Switch from Analysis Tab to the Details Tab Runtime Grid dimensions On right hand side, activate summary view 21 Kernel name <func>_<line>_gpu

22 Agenda IDE Eclipse Debugging (CUDA) TotalView Profiling (CUDA & OpenACC) NVIDIA Visual Profiler Appendix Debugging host code with TotalView 22

23 Appendix - Debugging host code Start TotalView and select your program to debug 23

24 Appendix - Debugging host code Process window of TotalView Toolbar Process and Thread Status Stack Trace Pane Stack Frame Pane Source Pane Tabbed Pane 24

25 Appendix - Debugging host code Breakpoints Interrupt execution when reaching a specific code line Conditional Breakpoints possible Set by clicking in the source pane Temporary disabling is possible Watchpoints Interrupt when a change occurs to a specific memory location Conditional watchpoints possible (e.g. only stop if the sign of the value changes or specified threshold reached) 25

26 Appendix - Debugging host code Setting a breakpoint 26

27 Appendix - Debugging host code Inspecting an array in C/C++ Double click on array name Typecast necessary 27

28 Appendix - Debugging host code Data visualizations helpful for big data arrays 28

29 Appendix - Debugging host code Create a watchpoint for a[29] 29

30 Appendix - Debugging host code Will interrupt as soon as a[29] changes 30

CUDA Debugging. GPGPU Workshop, August 2012. Sandra Wienke Center for Computing and Communication, RWTH Aachen University

CUDA Debugging. GPGPU Workshop, August 2012. Sandra Wienke Center for Computing and Communication, RWTH Aachen University CUDA Debugging GPGPU Workshop, August 2012 Sandra Wienke Center for Computing and Communication, RWTH Aachen University Nikolay Piskun, Chris Gottbrath Rogue Wave Software Rechen- und Kommunikationszentrum

More information

Debugging with TotalView

Debugging with TotalView Tim Cramer cramer@rz.rwth-aachen.de Rechen- und Kommunikationszentrum (RZ) Why to use a Debugger? If your program goes haywire, you may... ( wand (... buy a magic... read the source code again and again

More information

Debugging with TotalView

Debugging with TotalView Tim Cramer 17.03.2015 IT Center der RWTH Aachen University Why to use a Debugger? If your program goes haywire, you may... ( wand (... buy a magic... read the source code again and again and...... enrich

More information

RWTH GPU Cluster. Sandra Wienke wienke@rz.rwth-aachen.de November 2012. Rechen- und Kommunikationszentrum (RZ) Fotos: Christian Iwainsky

RWTH GPU Cluster. Sandra Wienke wienke@rz.rwth-aachen.de November 2012. Rechen- und Kommunikationszentrum (RZ) Fotos: Christian Iwainsky RWTH GPU Cluster Fotos: Christian Iwainsky Sandra Wienke wienke@rz.rwth-aachen.de November 2012 Rechen- und Kommunikationszentrum (RZ) The RWTH GPU Cluster GPU Cluster: 57 Nvidia Quadro 6000 (Fermi) innovative

More information

S Debugging CUDA Kernel Code with NVIDIA Nsight Visual Studio Edition

S Debugging CUDA Kernel Code with NVIDIA Nsight Visual Studio Edition S3478 - Debugging CUDA Kernel Code with NVIDIA Nsight Visual Studio Edition Agenda What is Nsight and how can it help me? Creating projects and CUDA build system live demo Nsight CUDA debugger features

More information

Debugging CUDA Applications Przetwarzanie Równoległe CUDA/CELL

Debugging CUDA Applications Przetwarzanie Równoległe CUDA/CELL Debugging CUDA Applications Przetwarzanie Równoległe CUDA/CELL Michał Wójcik, Tomasz Boiński Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika

More information

Hands-on CUDA exercises

Hands-on CUDA exercises Hands-on CUDA exercises CUDA Exercises We have provided skeletons and solutions for 6 hands-on CUDA exercises In each exercise (except for #5), you have to implement the missing portions of the code Finished

More information

Optimizing Application Performance with CUDA Profiling Tools

Optimizing Application Performance with CUDA Profiling Tools Optimizing Application Performance with CUDA Profiling Tools Why Profile? Application Code GPU Compute-Intensive Functions Rest of Sequential CPU Code CPU 100 s of cores 10,000 s of threads Great memory

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

More information

ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA

ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools

More information

CUDA Overview. Cliff Woolley, NVIDIA Developer Technology Group

CUDA Overview. Cliff Woolley, NVIDIA Developer Technology Group CUDA Overview Cliff Woolley, NVIDIA Developer Technology Group GPGPU Revolutionizes Computing Latency Processor + Throughput processor CPU GPU Low Latency or High Throughput? CPU Optimized for low-latency

More information

CUDA Tools for Debugging and Profiling. Jiri Kraus (NVIDIA)

CUDA Tools for Debugging and Profiling. Jiri Kraus (NVIDIA) Mitglied der Helmholtz-Gemeinschaft CUDA Tools for Debugging and Profiling Jiri Kraus (NVIDIA) GPU Programming@Jülich Supercomputing Centre Jülich 7-9 April 2014 What you will learn How to use cuda-memcheck

More information

Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005

Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1

More information

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING NVIDIA DEVELOPER TOOLS BUILD. DEBUG. PROFILE. C/C++ IDE INTEGRATION STANDALONE TOOLS HARDWARE SUPPORT CPU AND GPU DEBUGGING & PROFILING

More information

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS DU-05349-001_v6.0 February 2014 Installation and Verification on TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2.

More information

For Introduction to Java Programming, 5E By Y. Daniel Liang

For Introduction to Java Programming, 5E By Y. Daniel Liang Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,

More information

The CUDA Programming Model

The CUDA Programming Model The CUDA Programming Model CPS343 Parallel and High Performance Computing Spring 2013 CPS343 (Parallel and HPC) The CUDA Programming Model Spring 2013 1 / 42 Outline 1 CUDA overview Kernels Thread Hierarchy

More information

Overview. Lecture 1: an introduction to CUDA. Hardware view. Hardware view. hardware view software view CUDA programming

Overview. Lecture 1: an introduction to CUDA. Hardware view. Hardware view. hardware view software view CUDA programming Overview Lecture 1: an introduction to CUDA Mike Giles mike.giles@maths.ox.ac.uk hardware view software view Oxford University Mathematical Institute Oxford e-research Centre Lecture 1 p. 1 Lecture 1 p.

More information

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v5.5 July 2013 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About

More information

FERMI COMPATIBILITY GUIDE FOR CUDA APPLICATIONS

FERMI COMPATIBILITY GUIDE FOR CUDA APPLICATIONS FERMI COMPATIBILITY GUIDE FOR CUDA APPLICATIONS DA-05607-001_v1.5 May 2011 Application Note DOCUMENT CHANGE HISTORY DA-05607-001_v1.5 Version Date Authors Description of Change 1.0 CW,EY Initial public

More information

CUDA Debugging and Profiling Tools Mark Harris, NVIDIA

CUDA Debugging and Profiling Tools Mark Harris, NVIDIA CUDA Debugging and Profiling Tools Mark Harris, NVIDIA mharris@nvidia.com CUDA-GDB Debugger Extended version of GDB with support for CUDA C Supported on Linux 32bit / 64bit systems Seamlessly debug both

More information

NVIDIA Parallel Nsight 2.0 and CUDA 4.0 for the Win! Jeff Kiel, Manager of Graphics Tools NVIDIA Corporation, SIGGRAPH 2011

NVIDIA Parallel Nsight 2.0 and CUDA 4.0 for the Win! Jeff Kiel, Manager of Graphics Tools NVIDIA Corporation, SIGGRAPH 2011 NVIDIA Parallel Nsight 2.0 and CUDA 4.0 for the Win! Jeff Kiel, Manager of Graphics Tools NVIDIA Corporation, SIGGRAPH 2011 Agenda CUDA Update NVIDIA Parallel Nsight CUDA Debugging and Profiling Graphics

More information

CDT Testing Summary

CDT Testing Summary CDT Testing 8.7.0 - Summary CDT Version: GDB/gdbserver version 8.7 RC2 Date Started: Date Completed: Section Content To do Fail Started Total 1 Installation 0 25 0 0 25 With comments 2 Codan 0 3 0 0 3

More information

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v6.5 August 2014 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About

More information

Eclipse Python Debugging Tutorial. For Introduction to Programming Using Python By Y. Daniel Liang

Eclipse Python Debugging Tutorial. For Introduction to Programming Using Python By Y. Daniel Liang Eclipse Python Debugging Tutorial For Introduction to Programming Using Python By Y. Daniel Liang This supplement covers the following topics: Set Breakpoints Start the Debugger Control Program Execution

More information

Debugging with (and without) TotalView

Debugging with (and without) TotalView Debugging with (and without) TotalView Dieter an Mey Center for Computing and Communication Aachen University of Technology anmey@rz.rwth-aachen.de 1 TotalView, VI-HPS Tuning Workshop 2008 Help TotalView

More information

CDT Testing Summary

CDT Testing Summary CDT Testing 8.5.0 - Summary CDT Version: 8.5 GDB/gdbserver version Date Started: Date Completed: Section Content To do Fail Started Total 1 Installation 0 19 1 0 20 2 Codan 0 3 0 0 3 3 Debug 0 183 0 0

More information

Intro to MS Visual C++ Debugging

Intro to MS Visual C++ Debugging Intro to MS Visual C++ Debugging A2 Visual C++ Debugger 1 Debugger Definition A program used to control the execution of another program for diagnostic purposes. Debugger Features / Operations Single-Stepping

More information

Eclipse Python Tutorial. For Introduction to Programming Using Python By Y. Daniel Liang

Eclipse Python Tutorial. For Introduction to Programming Using Python By Y. Daniel Liang Eclipse Python Tutorial For Introduction to Programming Using Python By Y. Daniel Liang This supplement covers the following topics: Download and install Java if necessary Download and install Eclipse

More information

Getting Started with CodeXL

Getting Started with CodeXL AMD Developer Tools Team Advanced Micro Devices, Inc. Table of Contents Introduction... 2 Install CodeXL... 2 Validate CodeXL installation... 3 CodeXL help... 5 Run the Teapot Sample project... 5 Basic

More information

Tornado Tutorial. 3.1 Introduction

Tornado Tutorial. 3.1 Introduction 3 Tornado Tutorial 3.1 Introduction This tutorial is designed to introduce you to key features of Tornado using the integrated VxWorks target simulator. It does not require any target hardware or special

More information

Lab 2-2: Exploring Threads

Lab 2-2: Exploring Threads Lab 2-2: Exploring Threads Objectives Prerequisites After completing this lab, you will be able to: Add profiling support to a Windows CE OS Design Locate files associated with Windows CE profiling Operate

More information

XID ERRORS. vr352 May 2015. XID Errors

XID ERRORS. vr352 May 2015. XID Errors ID ERRORS vr352 May 2015 ID Errors Introduction... 1 1.1. What Is an id Message... 1 1.2. How to Use id Messages... 1 Working with id Errors... 2 2.1. Viewing id Error Messages... 2 2.2. Tools That Provide

More information

CUDA Optimization with NVIDIA Tools. Julien Demouth, NVIDIA

CUDA Optimization with NVIDIA Tools. Julien Demouth, NVIDIA CUDA Optimization with NVIDIA Tools Julien Demouth, NVIDIA What Will You Learn? An iterative method to optimize your GPU code A way to conduct that method with Nvidia Tools 2 What Does the Application

More information

Application Note June 2013

Application Note June 2013 DEVELOPING LOW ENERGY APPLICATIONS WITH ECLIPSE AND GCC FOR BL600 June 2013 This application note is intended to help developers who want to use BL600 module to develop Bluetooth Low energy applications

More information

TUNING CUDA APPLICATIONS FOR FERMI

TUNING CUDA APPLICATIONS FOR FERMI TUNING CUDA APPLICATIONS FOR FERMI DA-05612-001_v1.5 May 2011 Application Note DOCUMENT CHANGE HISTORY DA-05612-001_v1.5 Version Date Authors Description of Change 1.0 CZ,CW Initial public release. 1.1

More information

Getting Started with Eclipse, GRMON, and the LEON2. (See Appendix A for Installation Instructions)

Getting Started with Eclipse, GRMON, and the LEON2. (See Appendix A for Installation Instructions) Getting Started with Eclipse, GRMON, and the LEON2 (See Appendix A for Installation Instructions) Launching Eclipse: Open Eclipse by visiting Start-> All Programs-> Class- > 465-> Eclipse. Specify a new

More information

Codewarrior for ColdFire (Eclipse) 10.1 Setup

Codewarrior for ColdFire (Eclipse) 10.1 Setup Codewarrior for ColdFire (Eclipse) 10.1 Setup 1. Goal This document is designed to ensure that your CodeWarrior for Coldfire v10.1 environment is correctly setup and to orient you to it basic functionality

More information

CUDA SKILLS. Yu-Hang Tang. June 23-26, 2015 CSRC, Beijing

CUDA SKILLS. Yu-Hang Tang. June 23-26, 2015 CSRC, Beijing CUDA SKILLS Yu-Hang Tang June 23-26, 2015 CSRC, Beijing day1.pdf at /home/ytang/slides Referece solutions coming soon Online CUDA API documentation http://docs.nvidia.com/cuda/index.html Yu-Hang Tang @

More information

Case Study on Productivity and Performance of GPGPUs

Case Study on Productivity and Performance of GPGPUs Case Study on Productivity and Performance of GPGPUs Sandra Wienke wienke@rz.rwth-aachen.de ZKI Arbeitskreis Supercomputing April 2012 Rechen- und Kommunikationszentrum (RZ) RWTH GPU-Cluster 56 Nvidia

More information

New Standard from Khronos for Heterogeneous Parallel Computing (v1.0 Released Dec 2008)

New Standard from Khronos for Heterogeneous Parallel Computing (v1.0 Released Dec 2008) OpenCL Overview What is OpenCL? New Standard from Khronos for Heterogeneous Parallel Computing (v1.0 Released Dec 2008) Initiated by Apple Open and royalty free Cross-Vendor and Cross-Platform Make use

More information

Before Start: CPU Emulator Installation Compilation Options Browsing SDK examples

Before Start: CPU Emulator Installation Compilation Options Browsing SDK examples Content CSE 591: GPU Programming Setting Up GPU Programming Environment Ziyi Zheng Before Start: CPU Emulator Computer Science Department Stony Brook University Content Compilation options Before Start

More information

CSE Parallel and High Performance Computing Lecture 6 - Profiling CUDA

CSE Parallel and High Performance Computing Lecture 6 - Profiling CUDA CSE 746 - Parallel and High Performance Computing Lecture 6 - Profiling CUDA, HPC Software Analyst SHARCNET, University of Waterloo ppomorsk@sharcnet.ca http://ppomorsk.sharcnet.ca/ Profiling profiling

More information

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights

More information

OpenACC Basics Directive-based GPGPU Programming

OpenACC Basics Directive-based GPGPU Programming OpenACC Basics Directive-based GPGPU Programming Sandra Wienke, M.Sc. wienke@rz.rwth-aachen.de Center for Computing and Communication RWTH Aachen University Rechen- und Kommunikationszentrum (RZ) PPCES,

More information

Introduction. Debug Plug-In Functionality

Introduction. Debug Plug-In Functionality Introduction...1 Debug Plug-In Functionality...1 System Requirements...2 Supported platforms...3 Installation...4 isystem Debugger and isystem Debugger with winidea Open...4 Eclipse 3.6 (Helios)...4 Eclipse

More information

CUDA and Fermi Update August 2010

CUDA and Fermi Update August 2010 CUDA and Fermi Update August 2010 1 Outline Hardware: GPU Hardware in General Fermi Review Software: Programming Languages Programming Tools Libraries 2 HARDWARE 3 GPU from a High Level GPU: A number of

More information

Architecture. Jason Lowden Advanced Computer Architecture November 7, 2012

Architecture. Jason Lowden Advanced Computer Architecture November 7, 2012 Evolution of the NVIDIA GPU Architecture Jason Lowden Advanced Computer Architecture November 7, 2012 Agenda Introduction of the NVIDIA GPU Graphics Pipeline GPU Terminology Architecture of a GPU Computing

More information

RTOS Debugger for ecos

RTOS Debugger for ecos RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3

More information

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311)

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311) ARM DS-5 Version 5.7 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G () ARM DS-5 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. Release Information The

More information

Nios II IDE Help System

Nios II IDE Help System Nios II IDE Help System 101 Innovation Drive San Jose, CA 95134 www.altera.com Nios II IDE Version: 9.0 Document Version: 1.7 Document Date: March 2009 UG-N2IDEHELP-1.7 Table Of Contents About This Document...1

More information

NVIDIA Fermi Architecture. Joseph Kider University of Pennsylvania CIS Fall 2011

NVIDIA Fermi Architecture. Joseph Kider University of Pennsylvania CIS Fall 2011 NVIDIA Fermi Architecture Joseph Kider University of Pennsylvania CIS 565 - Fall 2011 Administrivia Project checkpoint on Monday Sources Patrick Cozzi Spring 2011 NVIDIA CUDA Programming Guide CUDA by

More information

PowerPC cross development with GNU Toolchain and Eclipse

PowerPC cross development with GNU Toolchain and Eclipse with GNU Toolchain and Eclipse Version 1.0 embedded development tools Acknowledgements Ronetix GmbH Waidhausenstrasse 13/5 1140 Vienna Austria Tel: +43-720-500315 +43-1962-720 500315 Fax: +43-1- 8174 955

More information

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc. SKP16C62P Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance

More information

e 2 Studio Getting Started

e 2 Studio Getting Started e 2 Studio Getting Started Renesas Electronics America Inc. Renesas Technology & Solution Portfolio 2 Microcontroller and Microprocessor Line-up 2010 2012 32-bit 8/16-bit 1200 DMIPS, Superscalar Automotive

More information

Enabling success from the center of technology. Xilinx Embedded Processor Debugging

Enabling success from the center of technology. Xilinx Embedded Processor Debugging Xilinx Embedded Processor Debugging Goals 2 Demonstrate solid debug strategies using the Xilinx Software Development Kit and ChipScope Pro tools Learn how to achieve a functional hardware and software

More information

NEC 78K Family In-Circuit Emulation

NEC 78K Family In-Circuit Emulation _ Technical Notes V9.9.86 NEC 78K Family In-Circuit Emulation Contents Contents... 1 1 Introduction... 2 1.1 Differences from a standard environment... 2 1.2 Common Guidelines... 2 2 Emulation Options...

More information

Supplement I.2: NetBeans 4.0 Tutorial. For Introduction to Java Programming, 5E By Y. Daniel Liang

Supplement I.2: NetBeans 4.0 Tutorial. For Introduction to Java Programming, 5E By Y. Daniel Liang Supplement I.2: NetBeans 4.0 Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans ( 1) Creating a Project ( 2)

More information

E6895 Advanced Big Data Analytics Lecture 14:! NVIDIA GPU Examples and GPU on ios devices

E6895 Advanced Big Data Analytics Lecture 14:! NVIDIA GPU Examples and GPU on ios devices E6895 Advanced Big Data Analytics Lecture 14: NVIDIA GPU Examples and GPU on ios devices Ching-Yung Lin, Ph.D. Adjunct Professor, Dept. of Electrical Engineering and Computer Science IBM Chief Scientist,

More information

Linear Technology DC934A Linux Application User s Guide for use with the Altera Cyclone V SoC Development Kit

Linear Technology DC934A Linux Application User s Guide for use with the Altera Cyclone V SoC Development Kit Linear Technology DC934A Linux Application User s Guide for use with the Altera Cyclone V SoC Development Kit Revision 1.0 Table of Contents Introduction... 3 Board Connections... 3 Jumper Settings...

More information

Workshop: Tools: Eclipse

Workshop: Tools: Eclipse Workshop: Tools: Eclipse A very brief introduction to Eclipse (and more),...if you need it, Eclipse got it, search... Eclipse can be run from Windows, Mac, and Linux. Description here is somewhat Linux

More information

Capacitive Touch Lab. Renesas Capacitive Touch Lab R8C/36T-A Family

Capacitive Touch Lab. Renesas Capacitive Touch Lab R8C/36T-A Family Renesas Capacitive Touch Lab R8C/36T-A Family Description: This lab will cover the Renesas Touch Solution for embedded capacitive touch systems. This lab will demonstrate how to setup and run a simple

More information

Integrated Virtual Debugger for Eclipse Developer s Guide VMware Workstation 8.0

Integrated Virtual Debugger for Eclipse Developer s Guide VMware Workstation 8.0 Integrated Virtual Debugger for Eclipse Developer s Guide VMware Workstation 8.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

PROFILER USER'S GUIDE. DU _v5.5 May 2013

PROFILER USER'S GUIDE. DU _v5.5 May 2013 PROFILER USER'S GUIDE DU-05982-001_v5.5 May 2013 TABLE OF CONTENTS Profiling Overview...v What's New...v Terminology... vi Chapter 1. Preparing An Application For Profiling... 1 1.1. Focused Profiling...1

More information

Memory Profiling using QNX Momentics IDE 4

Memory Profiling using QNX Momentics IDE 4 Copyright 2007, QNX Software Systems. Qnx Corner Article Memory Profiling using QNX Momentics IDE 4 Summary This article describes various techniques for embedded software memory profiling, using tools

More information

Tutorial 3: Firmware Debugging with PICKit2

Tutorial 3: Firmware Debugging with PICKit2 Tutorial 3: Firmware Debugging with PICKit2 I. INTRODUCTION It is a fact that, it does not matter whether you are an engineer or not, everyone does mistakes in life. We as engineers can skip small details

More information

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Programming models for heterogeneous computing Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Talk outline [30 slides] 1. Introduction [5 slides] 2.

More information

GPU Parallel Computing Architecture and CUDA Programming Model

GPU Parallel Computing Architecture and CUDA Programming Model GPU Parallel Computing Architecture and CUDA Programming Model John Nickolls Outline Why GPU Computing? GPU Computing Architecture Multithreading and Arrays Data Parallel Problem Decomposition Parallel

More information

Installing Eclipse C++ for Windows

Installing Eclipse C++ for Windows Installing Eclipse C++ for Windows I. Introduction... 2 II. Installing and/or Enabling the 32-bit JRE (Java Runtime Environment)... 2 A. Windows 32-bit Operating System Environment... 2 B. Windows 64-bit

More information

Tools for Debugging & Profiling

Tools for Debugging & Profiling Tools for Debugging & Profiling OpenACC Course 2016 Andreas Herten, Forschungszentrum Jülich, 24 October 2016 Contents What you will learn. Hopefully. OpenACC can greatly speedup porting to GPU But many

More information

Kernel Development & Debugging Using the Eclipse IDE

Kernel Development & Debugging Using the Eclipse IDE Kernel Development & Debugging Using the Eclipse IDE This tutorial is tentative. If you have any questions or better ideas, feel free to email me: zhiyixu@usc.edu 1. Install Eclipse 1) Eclipse requires

More information

WebSphere Business Monitor

WebSphere Business Monitor WebSphere Business Monitor Debugger 2010 IBM Corporation This presentation provides an overview of the monitor model debugger in WebSphere Business Monitor. WBPM_Monitor_Debugger.ppt Page 1 of 23 Goals

More information

DAVE v4 Quick Start 1

DAVE v4 Quick Start 1 DAVE v4 Quick Start 1 Simple LED Blinky via a generated PWM Signal February, 2015 Learning Outcome Learn the basic principles of DAVE TM version 4: Installation Required XMC kit Create DAVE TM Project

More information

DS-5 ARM. Using the Debugger. Version 5.13. Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M (ID120712)

DS-5 ARM. Using the Debugger. Version 5.13. Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M (ID120712) ARM DS-5 Version 5.13 Using the Debugger Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M () ARM DS-5 Using the Debugger Copyright 2010-2012 ARM. All rights reserved. Release Information The

More information

Guided Performance Analysis with the NVIDIA Visual Profiler

Guided Performance Analysis with the NVIDIA Visual Profiler Guided Performance Analysis with the NVIDIA Visual Profiler Identifying Performance Opportunities NVIDIA Nsight Eclipse Edition (nsight) NVIDIA Visual Profiler (nvvp) nvprof command-line profiler Guided

More information

Andreas Burghart 6 October 2014 v1.0

Andreas Burghart 6 October 2014 v1.0 Yocto Qt Application Development Andreas Burghart 6 October 2014 Contents 1.0 Introduction... 3 1.1 Qt for Embedded Linux... 3 1.2 Outline... 4 1.3 Assumptions... 5 1.4 Corrections... 5 1.5 Version...

More information

Project Manager Editor & Debugger

Project Manager Editor & Debugger TM IDE for Microcontrollers Quick Start µvision2, the new IDE from Keil Software, combines Project Management, Source Code Editing, and Program Debugging in one powerful environment. This Quick Start guide

More information

Big Kev s Little Services Monitor

Big Kev s Little Services Monitor Big Kev s Little Services Monitor How it works: A small service application is installed onto each computer that you want to monitor. This service contains a TCP server that responds to commands sent to

More information

Technology for a better society. hetcomp.com

Technology for a better society. hetcomp.com Technology for a better society 1 Johan Seland CUDA Programming 16 th November - USIT Course Week 2 Overview Getting Started Minimal example Power of two CUDA Memories Intermediate example Gaussian Blur

More information

Department of Veterans Affairs. Open Source Electronic Health Record Services

Department of Veterans Affairs. Open Source Electronic Health Record Services Department of Veterans Affairs Open Source Electronic Health Record Services MTools Installation and Usage Guide Version 1.0 June 2013 Contract: VA118-12-C-0056 Table of Contents 1. Installation... 3 1.1.

More information

Learn how to use the powerful integrated debugging environment provided in Visual Studio 2003 and 2005

Learn how to use the powerful integrated debugging environment provided in Visual Studio 2003 and 2005 Debugging in Visual Studio Learn how to use the powerful integrated debugging environment provided in Visual Studio 2003 and 2005 By Steve Jones Game Institute What we will cover Debugging native, 32-bit

More information

Eclipse Quick Reference Windows Hosted

Eclipse Quick Reference Windows Hosted Eclipse Quick Reference Windows Hosted Menus and Keyboard Shortcuts (some menus/items can be hidden in any perspective) File Menu New Open Path Open File Close Close All Save Save As Save All Revert Move

More information

ADS 1.2 Multi-ICE Integrator Tutorial

ADS 1.2 Multi-ICE Integrator Tutorial ADS 1.2 Multi-ICE Integrator Tutorial ADS MultiICE Integrator Tutorial 1 Introduction Aim This tutorial provides the student with a basic introduction to the facilities provided with the Multi-ICE unit.

More information

ADVANCED OPENCL DEBUGGING AND PROFILING A CASE STUDY

ADVANCED OPENCL DEBUGGING AND PROFILING A CASE STUDY ADVANCED OPENCL DEBUGGING AND PROFILING A CASE STUDY Yaki Tebeka Advanced Micro Devices Fellow, Developer Tools Budirijanto Purnomo Advanced Micro Devices Technical Lead, GPU Compute Tools ABOUT OPENCL

More information

Supplement II.D: C++Builder Tutorial

Supplement II.D: C++Builder Tutorial 1. Introduction Supplement II.D: C++Builder Tutorial For Introduction to C++ Programming By Y. Daniel Liang C++Builder is a product of Borland. The company is well-known for developing innovative IDE tools.

More information

Eclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang

Eclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang Eclipse Tutorial For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Getting Started with Eclipse Choosing a Perspective Creating a Project Creating a Java

More information

Debugging CUDA Applications on Linux and Mac. Vyas Venkataraman

Debugging CUDA Applications on Linux and Mac. Vyas Venkataraman Debugging CUDA Applications on Linux and Mac Vyas Venkataraman 1 Overview CUDA 101 Execution Memory hierarchy Program Self Validation Debug Tools CUDA-MEMCHECK CUDA-GDB and Nvidia Nsight Eclipse Edition

More information

Eliminate Memory Errors and Improve Program Stability

Eliminate Memory Errors and Improve Program Stability Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent

More information

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS DU-05349-001_v5.5 July 2013 Installation and Verification on TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About

More information

Nios II IDE Help System

Nios II IDE Help System Nios II IDE Help System 101 Innovation Drive San Jose, CA 95134 www.altera.com Nios II IDE Version: 7.1 Document Version: 1.3 Document Date: May 2007 UG-N2IDEHELP-1.3 Table Of Contents About This Document...1

More information

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 5 10 Steps to Developing a QNX Program Quickstart Guide 2010 QNX Software Systems GmbH & Co. KG. All rights reserved. QNX, Momentics, Neutrino,

More information

Eclipse Plugin Setup Instructions

Eclipse Plugin Setup Instructions Eclipse Plugin Setup Instructions Sam Neth Last updated 2011-04-08 XQDT is a set of open source plugins for the Eclipse IDE, providing support for syntax highlighting and content-assisted editing of XQuery

More information

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS DU-05349-001_v6.5 August 2014 Installation and Verification on TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About

More information

GPU Performance Analysis and Optimisation

GPU Performance Analysis and Optimisation GPU Performance Analysis and Optimisation Thomas Bradley, NVIDIA Corporation Outline What limits performance? Analysing performance: GPU profiling Exposing sufficient parallelism Optimising for Kepler

More information

High Performance Computing in Aachen

High Performance Computing in Aachen High Performance Computing in Aachen Christian Iwainsky iwainsky@rz.rwth-aachen.de Center for Computing and Communication RWTH Aachen University Produktivitätstools unter Linux Sep 16, RWTH Aachen University

More information

Nios II IDE Help System

Nios II IDE Help System Nios II IDE Help System 101 Innovation Drive San Jose, CA 95134 www.altera.com Nios II IDE Version: 7.2 Document Version: 1.4 Document Date: October 2007 UG-N2IDEHELP-1.4 Table Of Contents About This Document...1

More information

Debugging in Heterogeneous Environments with TotalView. ECMWF HPC Workshop 30 th October 2014

Debugging in Heterogeneous Environments with TotalView. ECMWF HPC Workshop 30 th October 2014 Debugging in Heterogeneous Environments with TotalView ECMWF HPC Workshop 30 th October 2014 Agenda Introduction Challenges TotalView overview Advanced features Current work and future plans 2014 Rogue

More information

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition 10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can

More information

POOSL IDE User Manual

POOSL IDE User Manual Embedded Systems Innovation by TNO POOSL IDE User Manual Tool version 3.0.0 25-8-2014 1 POOSL IDE User Manual 1 Installation... 5 1.1 Minimal system requirements... 5 1.2 Installing Eclipse... 5 1.3 Installing

More information