I understand that there are some workloads that don’t lend themselves to parallel processing. Yet bootstrapping is so clearly parallelizable. Why in this day and age, do we have to rely on serial processing of bootstrapping tasks, I don’t understand.
This became infuriatingly obvious to me when a bootstrapping task I left running on Friday was still running on Monday. Apparently somebody else was also suffering from this and took things in to his own hands.
I would like to thank Johannes for re-writing the irf function of panelvar package to utilize parallel processing.
The code and the examples are pretty clear. The approach can guide other work to also use similar solutions (NLSLoop… I am looking at you). One thing to take into account in this case is that free cores by themselves are not enough. Each process also consumes some memory to go along with it.