Starting in the spring 2013, I videotaped the lectures for my MATH 676: Finite element methods in scientific computing course at the KAMU TV studio at Texas A&M. These are lectures on many aspects of scientific computing, software, and the practical aspects of the finite element method, as well as their implementation in the deal.II software library. Support for creating these videos was also provided by the National Science Foundation and the Computational Infrastructure in Geodynamics.

Note: In some of the videos, I demonstrate code or user interfaces. If you can't read the text, change the video quality by clicking on the "gear" symbol at the bottom right of the YouTube player.

Lecture 18: Debug vs. optimized mode

In this lecture I investigate some of the trade-offs between performance and writing code that is correct and easy to use or maintain. I introduce the concept of assertions as preconditions, postconditions, and internal consistency checks. I also talk about how this is realized in deal.II to avoid undue consequences for the performance of codes. The lecture fails to mention how to actually use debug or optimized mode in your programs. To do so, whenever you call cmake -DDEAL_II_DIR=/path/to/deal.II . in a directory such as examples/step-1, it prints commands you can give to the subsequent call to make. Among these are make debug and make release that compile the program in debug and optimized mode, respectively.

Slides: click here