The doMC backend uses the mclapply function and mclapply deploys its workers, so workers inherit their environment from the current process. Therefore, you do not need to use the .packages parameter to load already downloaded packages or use the .export parameter to export variables that are defined in the current environment. Backends such as doSNOW, doMPI, and doRedis do not use fork, so the foreach loops that work with doMC may not work on these backends.
I find it good practice to use these options with doMC because it makes the code more portable, but as you discovered, this is not always necessary.
source share