Most (legacy) software is written for serial computation:
- Problem broken into discrete set of instructions
- Instructions executed sequentially on a single processor
Figure from here
Most (legacy) software is written for serial computation:
Figure from here
Figure from here
A classification of computer architectures (Flynn, 1972)
Figure from here
Rscript
There are many R packages for parallelization, check out the CRAN Task View on High-Performance and Parallel Computing for an overview. For example:
In this session we'll focus on the foreach package, which has numerous advantages including:
for() loop-like syntaxmulticore, parallel, snow, Rmpi, etc.)fork on linux/mac and snow on windows).