A Practical Guide to Parallelization in Economics

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


Causal Claims Network Graph

Edges that are evidenced by causal inference methods are in orange, and the rest are in light blue.


Causal Claims

CauseEffect
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)

Back to index