Working Paper: NBER ID: w24561
Authors: Jess Fernández-Villaverde; David Zarruk Valencia
Abstract: This guide provides a practical introduction to parallel computing in economics. After a brief introduction to the basic ideas of parallelization, we show how to parallelize a prototypical application in economics using, on CPUs, Julia, Matlab, R, Python, C++-OpenMP, Rcpp–OpenMP, and C++-MPI, and, on GPUs, CUDA and OpenACC. We provide code that the user can download and fork, present comparative results, and explain the strengths and weaknesses of each approach. We conclude with some additional remarks about alternative approaches.
Keywords: Parallel Computing; Economics; High-Performance Computing
JEL Codes: C63; C68; E37
Edges that are evidenced by causal inference methods are in orange, and the rest are in light blue.
Cause | Effect |
---|---|
Number of processors (C89) | Computation time (C89) |
Parallelization of value function iteration (C61) | Efficiency in computation (C89) |
Metropolis-Hastings algorithm (C11) | Efficiency in parallelization (H21) |