Parallelization of Matlab codes under Windows platform for Bayesian estimation: A Dynare application
In the Bayesian estimation of DSGE models with DYNARE (specifically the Matlab Version for Windows), most of the computing time is devoted to the posterior estimation with the Metropolis algorithm. Usually, the Metropolis is run using multiple parallel chains, to allow more careful convergence testing. In this work we describe a way to parallelize the multiple-chain Metropolis algorithm within the Dynare Framework, running parallel chains on different processors to reduce computational time. To do so, we aimed at the easiest and cheapest possible strategy, i.e. the one which requires the lower level of modification in the basic DYNARE routines and does not need any licensed toolbox. Despite the fact that parallelizing the Metropolis-Hasting algorithm is intrinsically easy (the different chains are completely independent each other and do not require communication between them), MatLab software does not allow concurrent programming, or in other terms it does not support multi-threads, without the use of MatLab Distributed Computing Toolbox. The general idea is that when the execution of the Metropolis should start, instead of running it inside the MatLab session, the control of the execution is passed to the operating system that allows for multi-threading and concurrent threads are launched on different processors. When the metropolis computations are concluded the control is given back to the original MatLab session for post-processing Markov Chain results.
When requesting a correction, please mention this item's handle: RePEc:eem:wpaper:1. See general information about how to correct material in RePEc.
For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: (Ivano Azzini)
If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.
If references are entirely missing, you can add them using this form.
If the full references list an item that is present in RePEc, but the system did not link to it, you can help with this form.
If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your profile, as there may be some citations waiting for confirmation.
Please note that corrections may take a couple of weeks to filter through the various RePEc services.