Goals
Exercises
Profile code
Identify type instability via code inspection macros
Identify opportunities for optimziation
Writing type stable functions
Optimize performance by reducing memory allocaitons
Optimize code for serial execution
Project
Profile code to identify code worth optimizing
Document code to increase chances of useful feedback from peer code review
Readings
Prior to Monday's class
Introduction to High Performance Computing for Scientists and Engineers Ch 2: Serial Optimization (26pg) and/or
Performance Tips (just the bold section headings is enough for now; come back to read more about any specific tip when it applies to your project)
Lab
Lab 5: Serial Optimizations: Profiling, Type Stability, Code Inspection & Optimization Patterns (due Sept 27)
Exercise 1: Profiling
Exercise 2: Type Stability & Code Inspection
Additional Resources
Discussion and Q&A: What to Optimize, Programming Interfaces, Abstract Types