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).