High Performance Computing
Supplementary topic (prep material)
This supplementary topic on high-performance computing begins with the fundamentals of parallel computing (the von Neumann architecture, parallel speedup and Amdahl’s law, and strong versus weak scalability), then motivates why quantitative macroeconomics needs parallelism (global solution methods, Bayesian estimation, the simulated method of moments, and web scraping). It then covers multithreading for I/O-bound tasks with Python’s concurrent.futures (the GIL and ThreadPoolExecutor) and multiprocessing for CPU-bound tasks with joblib (Parallel/delayed), and closes by introducing JIT acceleration of numerical code with Numba (@njit, prange). This lecture is preparation material and is not on this semester’s schedule.
Materials
Readings
- OpenMP Architecture Review Board (2021), OpenMP Application Programming Interface, Version 5.2.
- Message Passing Interface Forum (2025), MPI: A Message-Passing Interface Standard, Version 5.0.