[Rd] compiling R | multi-Opteron | BLAS source
Evan Cooch
cooch17 at verizon.net
Sun Jul 23 16:13:45 CEST 2006
Greetings -
A quick perusal of some of the posts to this maillist suggest the level
of the questions is probably beyond someone working at my level, but at
the risk of looking foolish publicly (something I find I get
increasingly comfortable with as I get older), here goes:
My research group recently purchased a multi-Opteron system (bunch of
880 chips), running 64-bit RHEL 4 (which we have site licensed at our
university, so it cost us nothing - good price) with SMP support built
into the kernel (perhaps obviously, for a multi-pro system). Several of
our user use [R], which I've only used on a few occasions. However, it
is part of my task to get [R] installed for folks using this system.
While the simple, basic compile sequence (./configure, make, make check,
make install) went smoothly, its pretty clear from our benchmarks that
the [R] code isn't running as 'rocket-fast' as it should for a system
like this. So, I dig a bit deeper. Most of the jobs we want to run could
benefit from BLAS support (lots of array manipulations and other bits of
linear algebra), and a few other compilation optimizations - and here is
where I seek advice.
1) Looks like there are 3-4 flavours: LAPACK, ATLAS, ACML
(AMD-chips...), and Goto. In reading what I can find, it seems that
there are reasons not to use ACML (single-thread) despite the AMD chips,
reasons to avoid ATLAS (some hassles compiling on RHEL 4 boxes), reasons
to avoid LAPACK (ibid), but apparently no problems with Goto BLAS.
Is that a reasonable summary? At the risk of starting a larger
discussion, I'm simply looking to get BLAS support, yielding the fastest
[R] code with the minimum of hassles (while tweaking lines of configure
fies, weird linker sequences and all that used to appeal when I was a
student, I don't have time at this stage). So, any quick recommendation
for *which* BLAS library? My quick assessment suggests goto BLAS, but
I'm hoping for some confirmation.
3) compilation of BLAS - I can compile for 32-bit, or 64-bit.
Presumably, given we've invested in 64-bit chips, and a 64-bit OS, we'd
like to consider a 64-bit compilation. Which, also presumably, means
we'd need 64-bit compilation for [R]. While I've read the short blurb on
CRAN concerning 64-bi vs 32-bit compilations (data size vs speed), I'd
be happy to have both on our machine. But, I'm not sure how one
specifies 64-bits in the [R] compilation - what flags to I need to set
during ./configure, or what config file do I need to edit?
Thanks very much in advance - and, again, apologies for the 'low-level'
of these questions, but one needs to start somewhere.
More information about the R-devel
mailing list