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
Lab
Lab 5: Serial Optimizations: Profiling, Type Stability, Code Inspection & Optimization Patterns (due Oct 3)
Exercise 1: Profiling
Exercise 2: Type Stability & Code Inspection
Readings
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)
Additional Resources
Week 5 Class Discussion and Q&A: What to Optimize, Programming Interfaces, Abstract Types