No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 7487fc5 Oct 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.Rhistory Update with improvement to R Jul 17, 2018
CUDA_main.cu Update Apr 18, 2018
Cpp_main_OpenACC.cpp Update Apr 18, 2018
Cpp_main_OpenMP.cpp Update Apr 18, 2018
Julia_main_parallel.jl Julia update Oct 6, 2018
Julia_main_pmap.jl Julia update Oct 6, 2018
MPI_host_file Update Oct 11, 2017
MPI_main.cpp Update Apr 18, 2018
Makefile Update Apr 18, 2018
Makefile~ Julia codes update Oct 3, 2018
Matlab_main.m Update with type instability corrected May 2, 2018
Python_main.py Update with type instability corrected May 2, 2018
R_main.R Update with improvement to R Jul 17, 2018
Rcpp_main.R Update Apr 18, 2018
Rcpp_main.cpp Update Apr 18, 2018
Readme.md Update Oct 11, 2017
Readme.md~ Update Oct 11, 2017

Readme.md

A Practical Guide to Parallel Computing in Macroeconomics

This repository contains the source code referenced in the paper A Practical Guide to Parallel Computing in Macroeconomics by Jesús Fernández-Villaverde and David Zarruk Valencia.

Abstract from the paper

Parallel computing opens the door to solving and estimating richer models in Economics. From dynamic optimization problems with high dimensionality to structural estimation with complex data, readily-available and economical parallel computing allows researchers to tackle problems in Economics that were beyond the realm of possibility just a decade ago. This paper describes the basics of parallel computing for economists, reviews widely-used implementation routines in Julia, Python, R, Matlab, C++ (OpenMP and MPI) and CUDA and compares performance gains using as a test bed a standard life-cycle problem such as those used in macro, labor, and other fields.

The file Makefile contains the compilation flags used in Linux and can be used to execute the codes in every language.

Files

  1. Cpp_main.cpp: C++ code for OpenMP
  2. CUDA_main.cu: CUDA code
  3. Julia_main_parallel.jl: Julia code
  4. Julia_main_pmap.jl: Julia code
  5. Matlab_main.m: Matlab code
  6. MPI_host_file: MPI host file
  7. MPI_main.cpp: C++ code for MPI
  8. Python_main.py: Python code
  9. Rcpp_main.cpp: C++ code for Rcpp package in R
  10. Rcpp_main.R: Rcpp code
  11. R_main.R: R code
  12. Makefile: Makefile to execute codes