Using DDT. Debugging programs with DDT. Peter Towers. HPC Systems Section. ECMWF January 28, 2016

Similar documents
Using DDT. Debugging programs with DDT. Peter Towers. HPC Systems Section.

DDT and Totalview. HRSK Practical on Debugging,

XC2 Client/Server Installation & Configuration

Using MATLAB with CANoe

SIDRA INTERSECTION 6.1 UPDATE HISTORY

Virtual Breadboarding. John Vangelov Ford Motor Company

PC-based systems ELOP II-NT

Operating Manual. SUPREMA Calibration. Software for Fire and Gas Warning Units. Order No.: /01. MSAsafety.com

Diver Training Options

The ICC Duckworth-Lewis Calculator. Professional Edition 2008

CLUB REGISTRATION & SUPPORT / TICKETING

Counter-Strike Season Seventeen OVERVIEW

BVIS Beach Volleyball Information System

Running WIEN2K on Ranger

[CROSS COUNTRY SCORING]

Electronic Structure Workshop, Spring 2017

Mac Software Manual for FITstep Pro Version 2

Score-P A Joint Performance Measurement Run-Time Infrastructure for Periscope, Scalasca, TAU, and Vampir

NAMD & HELIUM Enabling Work on the PRACE IBM Prototypes

[CROSS COUNTRY SCORING]

Protecting shared storage from rogue jobs by I/O profiling and dynamic load balancing

Compiling for Multi, Many, and Anycore. Rudi Eigenmann Purdue University

REMOTE CLIENT MANAGER HELP VERSION 1.0.2

Getting Started with the LabVIEW Toolkit for LEGO MINDSTORMS NXT

The MQ Console and REST API

The ICC Duckworth-Lewis-Stern calculator. DLS Edition 2016

Perfect Golf Quick Start Guide

World Leading Traffic Analysis

Quintic Automatic Putting Report

uemis CONNECT: Synchronisation of the SDA with myuemis

Modelling Today for the Future. Advanced Modelling Control Techniques

DIVE MEET SCORING INSTRUCTIONS. Day before meet

Fencing Time Version 4.3

Evaluating chaff fire pattern algorithms in a simulation environment. JP du Plessis Institute for Maritime Technology South Africa

EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 6. Wenbing Zhao. Department of Electrical and Computer Engineering

Outline. Terminology. EEC 686/785 Modeling & Performance Evaluation of Computer Systems. Lecture 6. Steps in Capacity Planning and Management

Table of Content IMPORTANT NOTE: Before using this guide, please make sure you have already set up your settings in

Track B: Particle Methods Part 2 PRACE Spring School 2012

WiiMaze Design Document March 13, 2008

FireHawk M7 Interface Module Software Instructions OPERATION AND INSTRUCTIONS

SENSAPHONE APPLICATION NOTE. Functions: C Programming, Pump Control, Data Logging

CT PET-2018 Part - B Phd COMPUTER APPLICATION Sample Question Paper

Contents. Page. Page. System Settings 10. Components 3. Basic Operation 4. Brightness. Volume (for use with sat nav software only) Play Golf

SQL LiteSpeed 3.0 Installation Guide

Old Kings Oval Electronic Scoreboard. Scoreboard Operation and Advanced Scoring Instructions

Swing Labs Training Guide

v2.3 USER MANUAL

VALVE CRITICALITY MODELING

Diver-Office. Getting Started Guide. 2007, Schlumberger Water Services

ACI_Release_Notes.txt VERSION Fixed Tank info for ELITE in Dive section 2. Fixed USB port initializing for old DC VERSION

Version 3.1.0: New Features/Improvements: Improved Bluetooth connection on Windows 10

ParaFEM: Microstructurally Faithful Modelling of Materials. Louise M. Lever, University of Manchester

PC Configuration software for Discovery MkVI v 1.03 User guide

User Manual. ENGLISH Pages FRANÇAIS Pages ESPAÑOL Páginas DEUTSCH Seiten 53-69

For running only the scoresheet application without any video features only some very basic hardware / software requirements have to be fulfilled:

Configuring Bidirectional Forwarding Detection for BGP

Education Services LAGAN Upgrade Training Brochure

Admiralty e-navigator

- 2 - Companion Web Site. Back Cover. Synopsis

1 Why use a Tagging Panel?

Excel 2013 Pivot Table Calculated Field Greyed Out

Race Screen: Figure 2: Race Screen. Figure 3: Race Screen with Top Bulb Lock

Technology. In the My Files [My Files] submenu you can store all the programs that you have made on the NXT or downloaded from your computer.

FIG: 27.1 Tool String

by Robert Gifford and Jorge Aranda University of Victoria, British Columbia, Canada

Training Fees 3,400 US$ per participant for Public Training includes Materials/Handouts, tea/coffee breaks, refreshments & Buffet Lunch.

Basic CPM Calculations

Acknowledgments...iii. Section 1: Introduction to /ILE... 1

IWR PLANNING SUITE II PCOP WEBINAR SERIES. Laura Witherow (IWR) and Monique Savage (MVP) 26 July

USER MANUAL April 2016

DakStats Football Quick Start Guide 1 of 7

Blackwave Dive Table Creator User Guide

Oracle Utilities Meter Data Management Release Utility Reference Model MDM.Manage VEE and VEE Exceptions

Previous Release Notes

WF STEUERUNGSTECHNIK GMBH. INFORMATION and TECNICAL DESCRIPTION

( ) ( ) *( A ) APPLICATION DATA. Procidia Control Solutions Coarse/Fine Control. Split-Range Control. AD Rev 2 April 2012

Using the Lego NXT with Labview.

Cloud, Distributed, Embedded. Erlang in the Heterogeneous Computing World. Omer

CREATED AND DISTRIBUTED BY:

The Game of Yinsh (Phase II)

[XACT INTEGRATION] The Race Director. Xact Integration

Table of Contents Diagnosis ICD9 to ICD10 GEM Report... 1 Diagnosis Form... 5 Helpful Hints on Correcting Issues... 8 Disclaimer...

ITF SCORER ONLINE TRAINING SETUP

Introduction to Matlab for Engineers

AX5000 Operational Manual

Oval Hanging Rods - User Guide.

Adobe Captivate Monday, February 08, 2016

Instruction Manual. BZ7002 Calibration Software BE

UNIQUE ADVANTAGES OF PIPENET

International olympiads in Informatics in Kazakhstan. A. Iglikov Z. Gamezardashvili B. Matkarimov

ThopEasy + INSTRUCTIONS FOR USE. Precious life Progressive care. Thopaz. Thopaz+

Runners map. List of runners. The runners you added in Step 3 will be displayed in ranking by location. Displayed in the above lines.

UNIVERSITY OF WATERLOO

Integrate Riverbed SteelHead. EventTracker v8.x and above

C o d i n g f o r i n t e r a C t i v e d i g i t a l M e d i a

Strategy, Developments & Outlook SESP September 2010 ESTEC, Noordwijk, The Netherlands

To Logon On to your tee sheet, start by opening your browser. (NOTE: Internet Explorer V. 6.0 or greater is required.)

Special Documentation Proline Promass 500 Coriolis Flowmeter Modbus RS485 Petroleum Application Package

Round Hanging Rods + Oval Brackets - User Guide.

in Hull Richard Green

Transcription:

Using DDT Debugging programs with DDT Peter Towers HPC Systems Section Peter.Towers@ecmwf.int ECMWF January 28, 2016 HPCF - Debugging programs with DDT ECMWF 1 2016

Allinea DDT DDT is a very popular interactive debugger - Developed by Allinea Software in the UK - Modern graphical user interface - Highly scalable to large numbers of tasks/threads Cray provide a 2048 task licence - No limit to threads per task - Support from Cray backed up by Allinea Version 4.2.1 (default) and 5.0.1 installed - Version 5 also called Allinea Forge - Version 6 will be available from Cray later this year Version 4.2.2 also available on the latest desktops - Uses the same licence HPCF - Debugging programs with DDT ECMWF 2016 2

DDT Features Examine sources Set breakpoints - Pause at a line of source - Conditional breakpoints supported Examine variables, Fortran modules, stack Set tracepoints - Output values of variables at a line without pausing Set watchpoints - Pause when a variable changes value HPCF - Debugging programs with DDT ECMWF 2016 3

DDT Features Step through execution line by line - Step to the next line or into a function - Step over a line - Step out of a function Catch signals - Segmentation violations - Floating point exceptions Track and debug memory usage - Record all memory allocations - Find memory overwrites Examine message queues. HPCF - Debugging programs with DDT ECMWF 2016 4

Compilation DDT uses the GNU Debugger (GDB) under the covers Compile with symbolic debug information turned on With CCE use -g for debug info and no optimisation -G1 or -G2 for debug info with optimisation With Intel use -g for debug info HPCF - Debugging programs with DDT ECMWF 2016 5

Launching DDT in batch export DISPLAY=<your workstation>:0.0 module load ddt/5.0.1.3_42607 ddt n? mpiargs more aprun args a.out For example ddt n 4 mpiargs N 4 ss cc cpu d 6 a.out HPCF - Debugging programs with DDT ECMWF 2016 6

Simple Job Script #!/bin/ksh #PBS -q np #PBS -N ddtdemo #PBS -j oe #PBS -o job.out #PBS -l EC_total_tasks=4 #PBS -l EC_threads_per_task=6 #PBS -l EC_hyperthreads=1 #PBS -l walltime=00:60:00 cd $HOME/Debug module load ddt export DISPLAY=juliet:0.0 export OMP_NUM_THREADS=6 ddt -n 4 -mpiargs '-ss -cc cpu -N 4 -d 6'./hello_mpi HPCF - Debugging programs with DDT ECMWF 2016 7

Live Demo Using IFS TL159 running on 1 node - Initially with 4 tasks x 6 threads - Then with 24 tasks x 1 thread Latest RAPS14 benchmark code (CY41R2) Run in batch Selected screen shots from DDT follow in the presentation material Now for the live demo. HPCF - Debugging programs with DDT ECMWF 2016 8

Before launching executable HPCF - Debugging programs with DDT ECMWF 2016 9

Paused after MPI_INIT HPCF - Debugging programs with DDT ECMWF 2016 10

After selecting cnt4.f90 and setting a breakpoint at line 505 HPCF - Debugging programs with DDT ECMWF 2016 11

Hitting the breakpoint HPCF - Debugging programs with DDT ECMWF 2016 12

At the breakpoint HPCF - Debugging programs with DDT ECMWF 2016 13

Setting a trace point at line 511 for JSTEP and ZT1 every 3 rd step HPCF - Debugging programs with DDT ECMWF 2016 14

Setting a conditional breakpoint at line 507 for step 8 HPCF - Debugging programs with DDT ECMWF 2016 15

Trace point output after 8 steps HPCF - Debugging programs with DDT ECMWF 2016 16

Running a 24 x 1 configuration IFS runs until it gets a Floating Point Exception Caused by a divide by zero The physics time slice has gone to zero Will use a watch point to find out where HPCF - Debugging programs with DDT ECMWF 2016 17

Hitting the divide by zero HPCF - Debugging programs with DDT ECMWF 2016 18

After reaching a breakpoint in callpar.f90 and setting a watch point on tsphy HPCF - Debugging programs with DDT ECMWF 2016 19

After the watch point triggers in sltend.f90 HPCF - Debugging programs with DDT ECMWF 2016 20

Line 412 did it! HPCF - Debugging programs with DDT ECMWF 2016 21

Allinea Map A product that complements DDT A simple code profiler for MPI application Version 5 supports OpenMP as well Designed to be lightweight at scale - 1000 samples per thread - Sampling rate adjust automatically Same source code browser as DDT Find hot spots in the application HPCF - Debugging programs with DDT ECMWF 2016 22

Using Allinea Map Compile with debug info - -G2 for Cray compiler, -g for Intel/Gnu Load the DDT module - module load ddt/5.0.1.3_42607 Execute make_profiler_libraries script - Creates libmap-sampler.so libmap-sampler-pmpi.so Link libraries into application - -lmap-sampler lmap-sampler-pmpi Run in batch to collect data via map --profile - Creates a profiling file Analyse interactively via map profiling file HPCF - Debugging programs with DDT ECMWF 2016 23

Using Allinea Map in batch module load ddt/5.0.1.3_42607 map --profile n? mpiargs more aprun args a.out For example map --profile n 4 mpiargs N 4 ss cc cpu d 6 a.out HPCF - Debugging programs with DDT ECMWF 2016 24

Allinea Map - Screenshot HPCF - Debugging programs with DDT ECMWF 2016 25

Using Allinea Map See the DDT/MAP userguide for more information - /opt/cray/ddt/4.2.1.2_36484/doc/userguide.pdf - /opt/cray/ddt/5.0.1.3_42607/doc/userguide-forge.pdf HPCF - Debugging programs with DDT ECMWF 2016 26

Very Simple DDT Example tar xzf ~trx/exercises/debug.tgz cd Debug compit edit job.ddt and set DISPLAY qsub job.ddt Try setting - a breakpoint at line 26 - a watch point on nthreads - a conditional trace point on line 50 for nstep 50 Find the error output and trace output when it fails HPCF - Debugging programs with DDT ECMWF 2016 27