Skip to content
Prev 132340 / 398506 Next

Dual Core vs Quad Core

On Tue, 18 Dec 2007, S Ellison wrote:

            
Yes, but that is Windows-specific.

On most other platforms you can benefit from using a multi-threaded BLAS, 
such as ATLAS, ACML or Dr Goto's.  The speedup for linear algebra can be 
substantial (although sometimes it will slow things down).  Luke Tierney 
has an experimental package to make use of parallel threads for some basic 
R computations which may appear in R 2.7.0.

It should be possible to use a multi-threaded BLAS under Windows, but I 
know no one who has done it.  There is a viable pthreads implementation 
for Windows, and I've tested Luke's experimental package using it.

Some compilers' runtimes will be able to use parallel threads for other 
tasks.  Since all the examples I am aware of are expensive commercial 
compilers, I suspect R will make limited use of them.  (In particular, 
base R does not use the Fortran 9x vector operations at which many of 
these features are targeted: we probably would if we routinely used such 
compilers.)

I've had dual-CPU desktops for more than ten years.  Given how little 
speedup you are likely to get via parallel processing (only under ideal 
conditions do the optimized BLASes run >1.5x faster using two CPUs), the 
most effective way to make use of multiple CPUs has been to run multiple 
jobs: I typically run 3-4 at once to keep the CPUs fully used.

One way to run multiple R processes to cooperate on a single task is to 
use a package such as snow to distribute the load.
They only have 3GB of RAM, which 32-bit OSes can address.  The benefits 
really come with more than that.