An open API service indexing awesome lists of open source software.

https://github.com/quantecon/parallelization_experiments


https://github.com/quantecon/parallelization_experiments

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# Parallelization Experiments

Here's a fun test case for parallelization. In essence we're populating a
matrix by simulation, with each row corresponding to one simulation of a given
firm's inventory process.

The firm's inventory process is of (s, S) type with stochastic IID demand.

The notebook "inventory_dynamics.ipynb" is just for background. I (jstac)
wrote it for a workshop.

The notebook "efficient_inventory_dynamics.ipynb" runs the simulation
described above.

I parallelize the task with `numba.prange`. Numba does a great job of
parallelizing this task efficiently --- which is non-trivial, because the
execution time of each round of the loop is very small (firm's inventory is
simulated for only 400 periods).

Question: How do Matlab and Julia's simple parallelization implementations do
on this task?

I'm mainly interested in naive implementations that leave most of the
logic unchanged. That is, I want to know how good each of the parallelization
interfaces is at collecting low hanging fruit.