Allinea DDT Debugger. Dan Mazur, McGill HPC March 5,
|
|
- Merryl Rogers
- 6 years ago
- Views:
Transcription
1 Allinea DDT Debugger Dan Mazur, McGill HPC March 5,
2 Outline Introduction and motivation Guillimin login and DDT configuration Compiling for a debugger Launching debugging jobs Controlling program execution Stepping, breakpoints, watchpoints, tracepoints Viewing variable contents Debugging parallel programs Effective debugging strategies Practice 3
3 Why use a debugger? We want to debug efficiently to reduce the total development time: Inefficient Coding More efficient Coding Debugging Debugging Time 4
4 Why a debugger? Greatly reduces the amount of time required for debugging For some projects, the time spent debugging can be greater than the time spent coding! If you program, you should learn how to debug effectively Why not just use printf() statements? May create much more data than is useful (parallel applications) debugging is fixed at compile time frequent task switching (thinking, editing, compiling, running, repeat) might introduce bugs (constantly changing/recompiling code) might forget to remove debugging output slower (typing, compiling, runtime) misleading (buffered output, changes timing and memory) 5
5 What does it do? All symbolic debuggers have these basic features: Step through code line-by-line Inspect variables Run and pause the code according to specified conditions (e.g. line numbers, function calls, variable changes) Catches signals such as SIGSEGV (Segmentation Fault) 6
6 What does it not do? Debuggers do not: Turn defective code into working code Find or fix bugs Understand the programmers' intentions Debugger Better name: 'Program Inspector' 7
7 Exercise 1: Login and configuration Login to Guillimin with X11 forwarding $ ssh -X class##@guillimin.hpc.mcgill.ca ## same as csuser## numbers password is written on slips of paper handed out by instructor Copy the workshop materials to your home directory ~/. Load the environment modules $ cp -R /software/workshop/ddt/* $ module load DDT ifort_icc openmpi Launch DDT $ ddt & 8
8 Compiling for debuggers Most programs Binary format Optimized by compiler No longer described by original code Programs for debugging Special compiler flag (-g) Programs keep a link to their source code Debugger functions are limited without this link 9
9 Launching a Job 10
10 Launching a Job 11
11 Launching a Job 12
12 Exercise 2: Compile and launch Compile the serial program serial.c for debugging $ icc -g -o serial serial.c Launch the program in DDT with the integer argument 0 (zero) Please follow along as I discuss the various functions 13
13 Template File DDT uses a template file for job submission default: /sb/software/tools/ddt/templates/guillimin.qtf To have more control over qsub script Copy this file to your ~/.allinea directory Modify the file Point DDT to your own copy in options>job submission 14
14 Source Code Variable Monitoring File Information Execution Controls Process Focus Process Information 15
15 Breakpoints Breakpoints indicate where the program should pause execution for inspection Select a line of code, right click, select 'add breakpoint' At a certain line of code or function call Or, click on the 'add breakpoint' icon Right click on a breakpoint to select 'edit breakpoint' or 'delete breakpoint' Conditional breakpoints (break 'if' some condition) 16
16 Breakpoints Where to break? Which processes? Useful for inspecting large loops Conditional breakpoints 17
17 Watchpoints Watchpoints pause execution when a certain memory location is changed Right click on a variable in the variable monitoring area to set a watchpoint 18
18 Tracepoints Log variables without pausing execution Like printf(), but more flexible Right-click on a line of code to set Right-click again to edit or delete 19
19 Tracepoint When to log? Which processes? Which variables? Useful for inspecting large loops Conditional tracepoints 20
20 Stack Trace Displays sequence of function calls How did we get here? 21
21 Execution Controls A B C D E F G A - Play (F9), Continue until next breakpoint or pause B - Pause (F10), Interrupt program execution C - Add breakpoint D - Step into (F5), Enter next function and pause inside E - Step over (F8), Execute the next function and pause outside F - Step out (F6), Exit the current function and pause outside G - Run to line, Play but pause on a certain line 23
22 Exercise 3: Basic Functions Try each basic function at least once in serial.c and understand how it works Breakpoints Watchpoints Tracepoints Play Step into Step over Step out 24
23 Exercise 4: Inspecting Variables Compile variables.c and launch with ddt $ icc -g -o variables variables.c Inspect the contents of each variable Change the contents of one of the variables during execution (array, for example) 25
24 Exercise 4: Inspecting Variables 26
25 Exercise 4: Inspecting Variables 27
26 Exercise 4: Inspecting Variables 28
27 Exercise 4: Inspecting Variables 29
28 Exercise 4: Inspecting Variables Evaluate combinations of variables Change a variable 30
29 Exercise 5: Multithreaded Debugging Compile omp_mm.c/.f90 with openmp for debugging Launch with DDT $ icc -g -openmp -o mm omp-mm.c Make sure to select OpenMP with 4 threads 31
30 Multi-threaded Debugging 32
31 Multi-threaded Debugging Select which thread you are debugging (focus) -Variable output will be thread specific -Program execution can be per thread or all together Stack trace shows you where each thread is in the program execution 33
32 34
33 Multi-process Debugging Compile pi.c $ mpicc -g -o pi pi.c Launch in DDT with 4 mpi processes Use command line argument:
34 Process Groups Create groups of threads Step by group 36
35 Passwordless Login DDT can attach to running processes requires communication between nodes asks for password each time We will set up ssh keys to avoid the passwords 37
36 Public-key Authentication Public Key ~/.ssh/id_rsa.pub Analogous to the lock Private Key ~/.ssh/id_rsa Analogous to the key 38
37 SSH Keys Local system Remote system Step 1: On the local system, we generate a pair of keys, one private (id_rsa) and one public (id_rsa.pub). 39
38 SSH Keys Local system ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Remote system Step 1: On the local system, we generate a pair of keys, one private (id_rsa) and one public (id_rsa.pub). 40
39 SSH Keys Local system ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Remote system Step 1: On the local system, we generate a pair of keys, one private (id_rsa) and one public (id_rsa.pub). Step 2: We copy the public key to ~/.ssh/authorized_keys on the remote server 41
40 SSH Keys Local system ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Remote system Copy ~/.ssh/authorized_keys Step 1: On the local system, we generate a pair of keys, one private (id_rsa) and one public (id_rsa.pub). Step 2: We copy the public key to ~/.ssh/authorized_keys on the remote server 42
41 SSH Keys Local system ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Matching pair? Remote system ~/.ssh/authorized_keys Step 1: On the local system, we generate a pair of keys, one private (id_rsa) and one public (id_rsa.pub). Step 2: We copy the public key to ~/.ssh/authorized_keys on the remote system Step 3: For authorization, the public key on the remote system is matched against the private key on the local system to ensure they are a valid pair 43
42 SSH Keys Local system ~/.ssh/id_rsa ~/.ssh/id_rsa.pub Matching pair? Remote system ~/.ssh/authorized_keys We can send our public key to any computer we want to log in to. We do not need to keep it secret because ownership of the matching private key is needed for authentication. Use a passphrase. Otherwise, if your local system is compromised, all of your accounts on remote systems are also compromised. The private key and the passphrase are secret, like passwords. Never share your private key with anyone. 44
43 Setting up ssh keys ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/class59/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/class59/.ssh/id_rsa. Your public key has been saved in /home/class59/.ssh/id_rsa.pub. The key fingerprint is: 6a:c1:fe:42:dd:43:56:78:4c:c3:67:45:6d:69:e6:97 The key's randomart image is:... ssh-copy-id -i ~/.ssh/id_rsa.pub eval $(ssh-agent -s) ssh-add ~/.ssh/id_rsa Generate a pair (public, private) of keys Use default location Copy your public key into authorized_keys file Save your passphrase for this session Enter passphrase for /home/class59/.ssh/id_rsa: Identity added: /home/class59/.ssh/id_rsa (/home/class59/.ssh/id_rsa) [class59@lg-1r17-n01.ssh]$ ddt & 45
44 Exercise 6: Attaching Compile and launch the job mpi_hang $ mpicc -g -o mpi_hang mpi_hang.c $ qsub mpi_hang.sh Bug! This program hangs until it runs out of walltime When the job is running, put the list of nodes into ~/.allinea/nodes (e.g. JobID=123456) (Re-)launch DDT (DDT loads the node list at launch) $ ddt_gen_nodelist ddt & Select Attach to a running program Goal is to inspect the bug, actually fixing it is bonus 46
45 Exercise 6: Attaching 47
46 Exercise 6: Attaching 48
47 Exercise 6: Attaching 49
48 Exercise 6: Attaching The reason this code hangs is the line: tag = rank; rank is the MPI rank The tag must match between MPI_Send() and MPI_Recv() Both processes have sent messages and are stuck waiting in MPI_Recv() for a matching tag that will never come 50
49 Exercise 7: Signals Compile and run cstart.c on the command line $ icc -g -o cstart cstart.c $./cstart one two three Will crash (Segmentation Fault) if any of the command line arguments are: crash memcrash overflow Inspect the code for each case 51
50 Effective Debugging 0: Planning and proper development strategies (future workshop?) 1: Know exactly i) what it is supposed to do, ii) what it actually does, and iii) how you know that it is broken 2: Look for simple answers: Is your computer plugged in? turned on? Correct version? Correct input data? 3: Focus on the problem Isolate the faulty subsystem precisely Reduce the problem to the simplest possible test case 52
51 Effective Debugging 4: Scientific Method Invent a hypothesis to explain fault Design an experiment to test the hypothesis Repeat 5: Change one variable at a time (experimental controls) 6: Keep a good lab book (what results did each experiment produce?) 7: Avoid: Guesswork (do the experiments) Random trial and error Laying blame (libraries, compilers, OS, collaborators) Band-aids and workarounds Quitting as soon as its 'working' (If you didn't fix it, it isn't fixed) 53
52 MPI Debugging Common MPI Deadlocks Only one process calls a collective communication function All processes blocking receive before any process sends A message never gets sent Process tries to receive data from itself 54
53 MPI Debugging Other common MPI bugs Send/Recv type mismatch (eg. MPI_INT matched with MPI_FLOAT) Mixed-up parameters to MPI functions 55
54 MPI Debugging Collective communications are less error-prone than point-to-point Start with smallest possible number of processes (i.e. 1) and scale up slowly Start with smallest possible problem size and scale up slowly printf output is chronological for a process, but not between processes Compare sent messages and received messages 56
55 Getting Help 57
56 Exercise 8: Debugging Practice Please debug as many of the bugged practice problems as time allows If you have your own code you would like to debug, or inspect you may do that now Practice problems: InsLotsOfErrors.c ( Lnk.c ( programs in mpi_bug folder (Lawrence Livermore MPI Tutorial) programs in omp_bug folder (Lawrence Livermore OpenMP Tutorial) 58
Guillimin HPC Users Meeting July 14, 2016
Guillimin HPC Users Meeting July 14, 2016 guillimin@calculquebec.ca McGill University / Calcul Québec / Compute Canada Montréal, QC Canada Outline Compute Canada News System Status Software Updates Training
More informationDDT: A visual, parallel debugger on Ra
DDT: A visual, parallel debugger on Ra David M. Larue dlarue@mines.edu High Performance & Research Computing Campus Computing, Communications, and Information Technologies Colorado School of Mines March,
More informationDebugging with TotalView
Debugging with TotalView Le Yan HPC Consultant User Services Goals Learn how to start TotalView on Linux clusters Get familiar with TotalView graphic user interface Learn basic debugging functions of TotalView
More informationDebugging with GDB and DDT
Debugging with GDB and DDT Ramses van Zon SciNet HPC Consortium University of Toronto June 13, 2014 1/41 Ontario HPC Summerschool 2014 Central Edition: Toronto Outline Debugging Basics Debugging with the
More informationDebugging with GDB and DDT
Debugging with GDB and DDT Ramses van Zon SciNet HPC Consortium University of Toronto June 28, 2012 1/41 Ontario HPC Summerschool 2012 Central Edition: Toronto Outline Debugging Basics Debugging with the
More informationSTARTING THE DDT DEBUGGER ON MIO, AUN, & MC2. (Mouse over to the left to see thumbnails of all of the slides)
STARTING THE DDT DEBUGGER ON MIO, AUN, & MC2 (Mouse over to the left to see thumbnails of all of the slides) ALLINEA DDT Allinea DDT is a powerful, easy-to-use graphical debugger capable of debugging a
More informationDebugging. John Lockman Texas Advanced Computing Center
Debugging John Lockman Texas Advanced Computing Center Debugging Outline GDB Basic use Attaching to a running job DDT Identify MPI problems using Message Queues Catch memory errors PTP For the extremely
More informationSupercomputing environment TMA4280 Introduction to Supercomputing
Supercomputing environment TMA4280 Introduction to Supercomputing NTNU, IMF February 21. 2018 1 Supercomputing environment Supercomputers use UNIX-type operating systems. Predominantly Linux. Using a shell
More informationPractical Introduction to Message-Passing Interface (MPI)
1 Practical Introduction to Message-Passing Interface (MPI) October 1st, 2015 By: Pier-Luc St-Onge Partners and Sponsors 2 Setup for the workshop 1. Get a user ID and password paper (provided in class):
More informationDDT Debugging Techniques
DDT Debugging Techniques Carlos Rosales carlos@tacc.utexas.edu Scaling to Petascale 2010 July 7, 2010 Debugging Parallel Programs Usual problems Memory access issues Special cases not accounted for in
More informationWhat is Secure. Authenticated I know who I am talking to. Our communication is Encrypted
Crypto App - SSH 1 What is Secure Authenticated I know who I am talking to Our communication is Encrypted Telnet clear text Servers Terminal clear text Routers SSH encrypted channel encrypted text Servers
More informationTutorial on MPI: part I
Workshop on High Performance Computing (HPC08) School of Physics, IPM February 16-21, 2008 Tutorial on MPI: part I Stefano Cozzini CNR/INFM Democritos and SISSA/eLab Agenda first part WRAP UP of the yesterday's
More informationCryptography - SSH. Network Security Workshop May 2017 Phnom Penh, Cambodia
Cryptography - SSH Network Security Workshop 29-31 May 2017 Phnom Penh, Cambodia What is Safely Authentication I know who I am talking with Our communication is Encrypted Telnet Servers Terminal Routers
More informationCryptography - SSH. Network Security Workshop. 3-5 October 2017 Port Moresby, Papua New Guinea
Cryptography - SSH Network Security Workshop 3-5 October 2017 Port Moresby, Papua New Guinea 1 What is Secure Authentication I know who I am talking to Our communication is Encrypted Telnet Servers Terminal
More informationWelcome. HRSK Practical on Debugging, Zellescher Weg 12 Willers-Bau A106 Tel
Center for Information Services and High Performance Computing (ZIH) Welcome HRSK Practical on Debugging, 03.04.2009 Zellescher Weg 12 Willers-Bau A106 Tel. +49 351-463 - 31945 Matthias Lieber (matthias.lieber@tu-dresden.de)
More informationDebugging HPC Applications. David Lecomber CTO, Allinea Software
Debugging HPC Applications David Lecomber CTO, Allinea Software david@allinea.com Agenda Bugs and Debugging Debugging parallel applications Debugging OpenACC and other hybrid codes Debugging for Petascale
More informationTypical Bugs in parallel Programs
Center for Information Services and High Performance Computing (ZIH) Typical Bugs in parallel Programs Parallel Programming Course, Dresden, 8.- 12. February 2016 Joachim Protze (protze@rz.rwth-aachen.de)
More informationMPI Runtime Error Detection with MUST
MPI Runtime Error Detection with MUST At the 27th VI-HPS Tuning Workshop Joachim Protze IT Center RWTH Aachen University April 2018 How many issues can you spot in this tiny example? #include #include
More informationCryptography Application : SSH. Cyber Security & Network Security March, 2017 Dhaka, Bangladesh
Cryptography Application : SSH Cyber Security & Network Security 20-22 March, 2017 Dhaka, Bangladesh Issue Date: [31-12-2015] Revision: [v.1] What is Safely Authentication I am Assured of Which Host I
More informationFEPS. SSH Access with Two-Factor Authentication. RSA Key-pairs
FEPS SSH Access with Two-Factor Authentication RSA Key-pairs access.eps.surrey.ac.uk Contents: Introduction - 3 RSA Key-pairs - 3 Where can I use my RSA Key-Pair? - 3 Step 1 Prepare to generate your RSA
More informationCOSC 6374 Parallel Computation. Debugging MPI applications. Edgar Gabriel. Spring 2008
COSC 6374 Parallel Computation Debugging MPI applications Spring 2008 How to use a cluster A cluster usually consists of a front-end node and compute nodes Name of the front-end node: shark.cs.uh.edu You
More informationCS451 - Assignment 8 Faster Naive Bayes? Say it ain t so...
CS451 - Assignment 8 Faster Naive Bayes? Say it ain t so... Part 1 due: Friday, Nov. 8 before class Part 2 due: Monday, Nov. 11 before class Part 3 due: Sunday, Nov. 17 by 11:50pm http://www.hadoopwizard.com/what-is-hadoop-a-light-hearted-view/
More informationssh and handson Matsuzaki maz Yoshinobu 1
ssh and handson Matsuzaki maz Yoshinobu maz@iij.ad.jp 1 Secure Shell (ssh) Replacement for unsecure tools/protocols rsh and telnet Usually listen on tcp/22 Whole communication is encrypted
More informationMPI Runtime Error Detection with MUST
MPI Runtime Error Detection with MUST At the 25th VI-HPS Tuning Workshop Joachim Protze IT Center RWTH Aachen University March 2017 How many issues can you spot in this tiny example? #include #include
More informationHPCC - Hrothgar. Getting Started User Guide TotalView. High Performance Computing Center Texas Tech University
HPCC - Hrothgar Getting Started User Guide TotalView High Performance Computing Center Texas Tech University HPCC - Hrothgar 2 Table of Contents *This user guide is under development... 3 1. Introduction...
More informationDebugging on Blue Waters
Debugging on Blue Waters Debugging tools and techniques for Blue Waters are described here with example sessions, output, and pointers to small test codes. For tutorial purposes, this material will work
More informationPractical Introduction to Message-Passing Interface (MPI)
1 Outline of the workshop 2 Practical Introduction to Message-Passing Interface (MPI) Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@mcgill.ca Theoretical / practical introduction Parallelizing your
More informationBlue Gene/Q User Workshop. Debugging
Blue Gene/Q User Workshop Debugging Topics GDB Core Files Coreprocessor 2 GNU Debugger (GDB) The GNU Debugger (GDB) The Blue Gene/Q system includes support for running GDB with applications that run on
More informationGPU Debugging Made Easy. David Lecomber CTO, Allinea Software
GPU Debugging Made Easy David Lecomber CTO, Allinea Software david@allinea.com Allinea Software HPC development tools company Leading in HPC software tools market Wide customer base Blue-chip engineering,
More informationDEBUGGING ON FERMI PREPARING A DEBUGGABLE APPLICATION GDB. GDB on front-end nodes
DEBUGGING ON FERMI Debugging your application on a system based on a BG/Q architecture like FERMI could be an hard task due to the following problems: the core files generated by a crashing job on FERMI
More informationSSH. What is Safely 6/19/ June 2018 PacNOG 22, Honiara, Solomon Islands Supported by:
SSH 25-29 June 2018 PacNOG 22, Honiara, Solomon Islands Supported by: Issue Date: Revision: 1 What is Safely Authentication I am Assured of Which Host I am Talking With Authentication - The Host Knows
More informationWe first learn one useful option of gcc. Copy the following C source file to your
Lecture 5 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lab 5: gcc and gdb tools 10-Oct-2018 Location: Teaching Labs Time: Thursday Instructor: Vlado Keselj Lab 5:
More informationParallel Debugging with TotalView BSC-CNS
Parallel Debugging with TotalView BSC-CNS AGENDA What debugging means? Debugging Tools in the RES Allinea DDT as alternative (RogueWave Software) What is TotalView Compiling Your Program Starting totalview
More informationUsing a Linux System 6
Canaan User Guide Connecting to the Cluster 1 SSH (Secure Shell) 1 Starting an ssh session from a Mac or Linux system 1 Starting an ssh session from a Windows PC 1 Once you're connected... 1 Ending an
More informationGetting Started with TotalView on Beacon
Getting Started with TotalView on Beacon 1) ssh X uname@beacon.nics.utk.edu (sets x forwarding so you can use the GUI) 2) qsub X I A UT- AACE- BEACON (sets x forwarding in the interactive job) 3) compile
More informationCryptography Application : SSH. 7 Sept 2017, Taichung, Taiwan
Cryptography Application : SSH 7 Sept 2017, Taichung, Taiwan What is Safely Authentication I am Assured of Which Host I am Talking With Authentication - The Host Knows Who I Am The Traffic is Encrypted
More informationImproving the Productivity of Scalable Application Development with TotalView May 18th, 2010
Improving the Productivity of Scalable Application Development with TotalView May 18th, 2010 Chris Gottbrath Principal Product Manager Rogue Wave Major Product Offerings 2 TotalView Technologies Family
More informationProject #6: Using ssh, scp and sftp with Key-Based Authentication
Project #6: Using ssh, scp and sftp with Key-Based Authentication ssh, scp and sftp Going beyond Password Protection Creating Keys Creating Keys with a Passphrase Using Key-Based Authentication in Our
More informationDebugging for the hybrid-multicore age (A HPC Perspective) David Lecomber CTO, Allinea Software
Debugging for the hybrid-multicore age (A HPC Perspective) David Lecomber CTO, Allinea Software david@allinea.com Agenda What is HPC? How is scale affecting HPC? Achieving tool scalability Scale in practice
More information7 The Integrated Debugger
7 The Integrated Debugger Your skill set for writing programs would not be complete without knowing how to use a debugger. While a debugger is traditionally associated with finding bugs, it can also be
More informationSiemens PLM Software. HEEDS MDO Setting up a Windows-to- Linux Compute Resource.
Siemens PLM Software HEEDS MDO 2018.04 Setting up a Windows-to- Linux Compute Resource www.redcedartech.com. Contents Introduction 1 On Remote Machine B 2 Installing the SSH Server 2 Configuring the SSH
More informationA Tutorial for ECE 175
Debugging in Microsoft Visual Studio 2010 A Tutorial for ECE 175 1. Introduction Debugging refers to the process of discovering defects (bugs) in software and correcting them. This process is invoked when
More informationAccelerate HPC Development with Allinea Performance Tools
Accelerate HPC Development with Allinea Performance Tools 19 April 2016 VI-HPS, LRZ Florent Lebeau / Ryan Hulguin flebeau@allinea.com / rhulguin@allinea.com Agenda 09:00 09:15 Introduction 09:15 09:45
More informationTable of Contents. Table of Contents Job Manager for remote execution of QuantumATK scripts. A single remote machine
Table of Contents Table of Contents Job Manager for remote execution of QuantumATK scripts A single remote machine Settings Environment Resources Notifications Diagnostics Save and test the new machine
More informationMD Workflow Single System Tutorial (LINUX OPERATION GPU Cluster) Written by Pek Ieong
MD Workflow Single System Tutorial (LINUX OPERATION GPU Cluster) Written by Pek Ieong The purpose of this tutorial is to introduce the Amber GPU Molecular Dynamic (MD) Kepler workflow developed by NBCR
More informationMVAPICH MPI and Open MPI
CHAPTER 6 The following sections appear in this chapter: Introduction, page 6-1 Initial Setup, page 6-2 Configure SSH, page 6-2 Edit Environment Variables, page 6-5 Perform MPI Bandwidth Test, page 6-8
More informationProbabilistic Diagnosis of Performance Faults in Large-Scale Parallel Applications
International Conference on Parallel Architectures and Compilation Techniques (PACT) Minneapolis, MN, Sep 21th, 2012 Probabilistic Diagnosis of Performance Faults in Large-Scale Parallel Applications Ignacio
More informationLe Yan Louisiana Optical Network Initiative. 8/3/2009 Scaling to Petascale Virtual Summer School
Parallel Debugging Techniques Le Yan Louisiana Optical Network Initiative 8/3/2009 Scaling to Petascale Virtual Summer School Outline Overview of parallel debugging Challenges Tools Strategies Gtf Get
More informationCreate Test Environment
Create Test Environment Describes how to set up the Trafodion test environment used by developers and testers Prerequisites Python Passwordless ssh If you already have an existing set of ssh keys If you
More informationDebugging. P.Dagna, M.Cremonesi. May 2015
Debugging P.Dagna, M.Cremonesi May 2015 Introduction Oneofthemostwidelyusedmethodstofindoutthereasonofa strange behavior in a program is the insertion of printf or write statements in the supposed critical
More informationAdvanced Message-Passing Interface (MPI)
Outline of the workshop 2 Advanced Message-Passing Interface (MPI) Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@mcgill.ca Morning: Advanced MPI Revision More on Collectives More on Point-to-Point
More informationParallel Debugging. ª Objective. ª Contents. ª Learn the basics of debugging parallel programs
ª Objective ª Learn the basics of debugging parallel programs ª Contents ª Launching a debug session ª The Parallel Debug Perspective ª Controlling sets of processes ª Controlling individual processes
More informationThis is a guide about using Putty on Windows with OpenSSH on Linux. You would learn about how to:
1 of 7 5/16/2011 5:37 PM Submitted by: Man-wai CHANG Update by: Man-wai CHANG Date Submitted: 31 May 2006 Document Version: 1.0 Last Updated: 08/01/2010 13:48:54 Last Updated: 02/02/2008 23:46:43 This
More informationLab6 GDB debugging. Conventions. Department of Computer Science and Information Engineering National Taiwan University
Lab6 GDB debugging 1 / 15 Learn how to perform source-level debugging with GDB. 2 / 15 Host Machine OS: Windows Target Machine Raspberry Pi (2 or 3) Build Machine A computer with a SD card slot OS: Ubuntu
More informationSupplement: Visual C++ Debugging
Supplement: Visual C++ Debugging For Introduction to C++ Programming By Y. Daniel Liang Note: The screen shots are taken from VC++ 2010. It is the same for the later version. 1 Introduction The debugger
More informationBR*Tools Studio 7.10 for Oracle Multi-instance Server Standalone Part 2: Server, Database Instances and their Users
BR*Tools Studio 7.10 for Oracle Multi-instance Server Standalone Part 2: Server, Database Instances and their Users Applies to: SAP BR*Tools Studio 7.10(2) for Oracle DBA on Unix/Linux with examples on
More informationCOSC 4397 Parallel Computation. Debugging and Performance Analysis of Parallel MPI Applications
COSC 4397 Parallel Computation Debugging and Performance Analysis of Parallel MPI Applications Edgar Gabriel Spring 2006 Edgar Gabriel Debugging sequential applications Several ways how to debug a sequential
More informationMUST. MPI Runtime Error Detection Tool
MUST MPI Runtime Error Detection Tool November 9, 2011 1 CONTENTS CONTENTS Contents 1 Introduction 3 2 Installation 3 2.1 P n MPI................................. 4 2.2 GTI..................................
More informationOutline. Computer programming. Debugging. What is it. Debugging. Hints. Debugging
Outline Computer programming Debugging Hints Gathering evidence Common C errors "Education is a progressive discovery of our own ignorance." Will Durant T.U. Cluj-Napoca - Computer Programming - lecture
More informationMPI Correctness Checking with MUST
Center for Information Services and High Performance Computing (ZIH) MPI Correctness Checking with MUST Parallel Programming Course, Dresden, 8.- 12. February 2016 Mathias Korepkat (mathias.korepkat@tu-dresden.de
More informationIntroduction to debugging. Martin Čuma Center for High Performance Computing University of Utah
Introduction to debugging Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Overview Program errors Simple debugging Graphical debugging DDT and Totalview Intel tools
More informationCS3210: Operating Systems
CS3210: Operating Systems Lab 1 Tutorial 1 / 39 Lab session general structure Session A - overview presentation (30 min) Concepts, tutorial, and demo Session B - group activity (30 min) Each student will
More informationNetBeans Tutorial. For Introduction to Java Programming By Y. Daniel Liang. This tutorial applies to NetBeans 6, 7, or a higher version.
NetBeans Tutorial For Introduction to Java Programming By Y. Daniel Liang This tutorial applies to NetBeans 6, 7, or a higher version. This supplement covers the following topics: Getting Started with
More informationDebugging at Scale Lindon Locks
Debugging at Scale Lindon Locks llocks@allinea.com Debugging at Scale At scale debugging - from 100 cores to 250,000 Problems faced by developers on real systems Alternative approaches to debugging and
More informationDebugging. Marcelo Ponce SciNet HPC Consortium University of Toronto. July 15, /41 Ontario HPC Summerschool 2016 Central Edition: Toronto
Debugging Marcelo Ponce SciNet HPC Consortium University of Toronto July 15, 2016 1/41 Ontario HPC Summerschool 2016 Central Edition: Toronto Outline Debugging Basics Debugging with the command line: GDB
More informationBackup and Restore Technical Note
Technical Note VERSION: 1.0 UPDATED: July 2017 Copyright Notices Copyright 2002-2017 KEMP Technologies, Inc. All rights reserved. KEMP Technologies and the KEMP Technologies logo are registered trademarks
More informationIntroduction to Python for Scientific Computing
1 Introduction to Python for Scientific Computing http://tinyurl.com/cq-intro-python-20151022 By: Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@calculquebec.ca, Bart.Oldeman@mcgill.ca Partners and
More informationMessage Passing Interface
MPSoC Architectures MPI Alberto Bosio, Associate Professor UM Microelectronic Departement bosio@lirmm.fr Message Passing Interface API for distributed-memory programming parallel code that runs across
More informationPractical Introduction to
1 2 Outline of the workshop Practical Introduction to What is ScaleMP? When do we need it? How do we run codes on the ScaleMP node on the ScaleMP Guillimin cluster? How to run programs efficiently on ScaleMP?
More informationDebugging and profiling of MPI programs
Debugging and profiling of MPI programs The code examples: http://syam.sharcnet.ca/mpi_debugging.tgz Sergey Mashchenko (SHARCNET / Compute Ontario / Compute Canada) Outline Introduction MPI debugging MPI
More information2-1-1 ssh Secure SHell
2-1-1 ssh Secure SHell Using Public Key Cryptography Keying, Key Exchange, and Session Setup Communicate Safely with Remote Systems What is Safely Authentication I am Assured of Which Host I am Talking
More informationUsing the KD30 Debugger
ELEC3730 Embedded Systems Tutorial 3 Using the KD30 Debugger 1 Introduction Overview The KD30 debugger is a powerful software tool that can greatly reduce the time it takes to develop complex programs
More informationEECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014
EECS 470 Lab 4 Version Control System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 31 st January, 2014 (University of Michigan) Lab 4:
More informationTotalView. Debugging Tool Presentation. Josip Jakić
TotalView Debugging Tool Presentation Josip Jakić josipjakic@ipb.ac.rs Agenda Introduction Getting started with TotalView Primary windows Basic functions Further functions Debugging parallel programs Topics
More information2-1-1 ssh Secure SHell
2-1-1 ssh Secure SHell Using Public Key Cryptography Keying, Key Exchange, and Session Setup 1 Communicate Safely with Remote Systems 2 What is Safely Authentication I am Assured of Which Host I am Talking
More informationMPI Lab. How to split a problem across multiple processors Broadcasting input to other nodes Using MPI_Reduce to accumulate partial sums
MPI Lab Parallelization (Calculating π in parallel) How to split a problem across multiple processors Broadcasting input to other nodes Using MPI_Reduce to accumulate partial sums Sharing Data Across Processors
More informationPreventing and Finding Bugs in Parallel Programs
Preventing and Finding Bugs in Parallel Programs Charlie Peck Earlham College BW/UPEP Institute @ NCSA May, 2011 1 How Did We Get Here? Debugging serial programs can be hard; debugging parallel programs
More informationExercise Session 6 Computer Architecture and Systems Programming
Systems Group Department of Computer Science ETH Zürich Exercise Session 6 Computer Architecture and Systems Programming Herbstsemester 2016 Agenda GDB Outlook on assignment 6 GDB The GNU Debugger 3 Debugging..
More informationAllinea Unified Environment
Allinea Unified Environment Allinea s unified tools for debugging and profiling HPC Codes Beau Paisley Allinea Software bpaisley@allinea.com 720.583.0380 Today s Challenge Q: What is the impact of current
More informationSetting up a Chaincoin Masternode
Setting up a Chaincoin Masternode Introduction So you want to set up your own Chaincoin Masternode? You ve come to the right place! These instructions are correct as of April, 2017, and relate to version
More informationComputing with the Moore Cluster
Computing with the Moore Cluster Edward Walter An overview of data management and job processing in the Moore compute cluster. Overview Getting access to the cluster Data management Submitting jobs (MPI
More informationPrinceton University COS 217: Introduction to Programming Systems GDB Tutorial and Reference
Princeton University COS 217: Introduction to Programming Systems GDB Tutorial and Reference Part 1: Tutorial This tutorial describes how to use a minimal subset of the gdb debugger. For more information
More informationMarketC - Masternode Setup Guide
MarketC - Masternode Setup Guide Preface In this guide we will be focusing on setting up a masternode for Marketc (CMK). This guide will focus on a typical "hot node" / "cold wallet" scenario. The "hot
More informationECE QNX Real-time Lab
Department of Electrical & Computer Engineering Concordia University ECE QNX Real-time Lab User Guide Dan Li 9/12/2011 User Guide of ECE Real-time QNX Lab Contents 1. About Real-time QNX Lab... 2 Contacts...
More informationGDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
More informationIntroduction to Linux Workshop 2. The George Washington University SEAS Computing Facility
Introduction to Linux Workshop 2 The George Washington University SEAS Computing Facility Course Goals SSH and communicating with other machines Public/Private key generation,.ssh directory, and the config
More informationOBTAINING AN ACCOUNT:
HPC Usage Policies The IIA High Performance Computing (HPC) System is managed by the Computer Management Committee. The User Policies here were developed by the Committee. The user policies below aim to
More informationUsing Eclipse and the
Developing Scientific Applications Using Eclipse and the Parallel l Tools Platform Greg Watson, IBM g.watson@computer.org Beth Tibbitts, IBM tibbitts@us.ibm.com Jay Alameda, NCSA jalameda@ncsa.uiuc.edu
More informationOur new HPC-Cluster An overview
Our new HPC-Cluster An overview Christian Hagen Universität Regensburg Regensburg, 15.05.2009 Outline 1 Layout 2 Hardware 3 Software 4 Getting an account 5 Compiling 6 Queueing system 7 Parallelization
More informationScientific Programming in C IX. Debugging
Scientific Programming in C IX. Debugging Susi Lehtola 13 November 2012 Debugging Quite often you spend an hour to write a code, and then two hours debugging why it doesn t work properly. Scientific Programming
More informationIntroduction to the ITA computer system
Introduction to the ITA computer system Tiago M. D. Pereira Slides: https://folk.uio.no/tiago/teaching/unix2017 Institute of Theoretical Astrophysics Today s lecture in a nutshell 1. Network and users,
More informationImage Sharpening. Practical Introduction to HPC Exercise. Instructions for Cirrus Tier-2 System
Image Sharpening Practical Introduction to HPC Exercise Instructions for Cirrus Tier-2 System 2 1. Aims The aim of this exercise is to get you used to logging into an HPC resource, using the command line
More informationMUST. MPI Runtime Error Detection Tool
MUST MPI Runtime Error Detection Tool April 18, 2012 1 CONTENTS CONTENTS Contents 1 Introduction 3 2 Installation 3 2.1 P n MPI................................. 4 2.2 GTI..................................
More informationIntroduction to the Message Passing Interface (MPI)
Introduction to the Message Passing Interface (MPI) CPS343 Parallel and High Performance Computing Spring 2018 CPS343 (Parallel and HPC) Introduction to the Message Passing Interface (MPI) Spring 2018
More informationImplementation of Parallelization
Implementation of Parallelization OpenMP, PThreads and MPI Jascha Schewtschenko Institute of Cosmology and Gravitation, University of Portsmouth May 9, 2018 JAS (ICG, Portsmouth) Implementation of Parallelization
More informationPROJECT INFRASTRUCTURE AND BASH INTRODUCTION MARKUS PILMAN<
PROJECT INFRASTRUCTURE AND BASH INTRODUCTION MARKUS PILMAN< MPILMAN@INF.ETHZ.CH> ORGANIZATION Tutorials on Tuesdays - Sometimes, will be announced In General: no exercise sessions (unless you get an email
More informationConfigure HOSTNAME by adding the hostname to the file /etc/sysconfig/network. Do the same to all the other 3(4) nodes.
Network setup As the root user execute the command "ifconfig" on each host. Take a note of ipaddress's of all machines I have a home LAN so my addresses are class C which might be in the format 192.168.192.x.
More informationModule 3: Working with C/C++
Module 3: Working with C/C++ Objective Learn basic Eclipse concepts: Perspectives, Views, Learn how to use Eclipse to manage a remote project Learn how to use Eclipse to develop C programs Learn how to
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationDevelopment Tools for Parallel Computing. David Lecomber CTO, Allinea Software
Development Tools for Parallel Computing David Lecomber CTO, Allinea Software david@allinea.com Agenda Introduction What is HPC Bugs and Debugging Debugging parallel applications Challenges for the future
More information