Part1: This part of the course will help you get started with debugging and using the gdb/idb debuggers. The topics covered include, understanding debugging, naive debugging, an introduction of debugging tools, serial code debugging, parallel code (OpenMP and MPI) debugging.

Part2:In an ideal case, parallelization would lead to a speed-up which scales linearly with the number of processors used compared to the original serial program running on a single processor. What if a program’s performance does not meet these expectations? Indeed, there are good reasons why these expectations most likely will not be met and we will explore those reasons and their remedies in this hands-on course. The part of the course will cover, understanding of serial and parallel performance (benchmarking), optimizing sequential programs - serial code profiling and analysis, tuning of parallel programs, parallel code profiling, collecting runtime information, and evaluation, analysis and presentation of the collected data.

Prerequisites: Familiarity with a low level programming language such as C/C++, or Fortran, Matlab and working comfortably in a UNIX/Linux environment or completed corresponding HPE DSI courses (cluster computing and C++).

Date: June 11, 13, 18, 20, 25, 27 July 02, 09, 11, 16

Time: Tu Thu 10:30 AM - 12 Noon

Instructor: Dr. Amit Amritkar

Location: MREB 200

Class Capacity: 36

The course is free for members of the UH community (faculty, students, staff). All others please pay via the NSM store link.