[R] R and ATLAS
Jonathan Greenberg
greenberg at ucdavis.edu
Thu May 27 05:29:12 CEST 2010
Peter and Dirk:
Thanks for the quick response -- I'm trying to get multiple CPU
responses as Peter indicated should happen, but those R commands only
illicit a single CPU response.
When I check the libraries:
ldd /usr/lib/R/bin/exec/R
linux-vdso.so.1 => (0x00007fffd05ff000)
libR.so => /usr/lib/R/lib/libR.so (0x00007f5f3b667000)
libc.so.6 => /lib/libc.so.6 (0x00007f5f3b313000)
libblas.so.3gf => /usr/lib/libblas.so.3gf (0x00007f5f3a7fe000)
libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f5f3a512000)
libm.so.6 => /lib/libm.so.6 (0x00007f5f3a290000)
libreadline.so.6 => /lib/libreadline.so.6 (0x00007f5f3a04b000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00007f5f39e1c000)
libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007f5f39c0c000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f5f399f4000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f5f397f0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5f3bbec000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f5f395da000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f5f393bd000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007f5f39177000)
Following /usr/lib/libblas.so.3gf :
ls -l /usr/lib/libblas.so.3gf
/usr/lib/libblas.so.3gf -> /etc/alternatives/libblas.so.3gf
And again following this:
ls -l /etc/alternatives/libblas.so.3gf
/etc/alternatives/libblas.so.3gf -> /usr/lib/atlas-base/atlas/libblas.so.3gf
So it appears to be properly linked to Atlas. Note that I got this
same response from both the binary install of r-base (apt-get install
r-base) and the source build of r-base-dev (apt-get source -b
r-base-dev). Also, I did a "tuned" install of ATLAS 3.8.3 using:
apt-get source atlas -t unstable
cd atlas-3.8.3
DEFAULTS=n fakeroot debian/rules custom
I did notice during the VERY long compilation that it seemed to
correctly identify that I have 4 CPUs.
Can someone confirm that the test:
a = matrix(rnorm(5000*5000), 5000, 5000)
b = matrix(rnorm(5000*5000), 5000, 5000)
c = a%*%b
Should illicit a multi-CPU response with R/ATLAS? If so, any
suggestions on how to tweak my install to get it working? Thanks!
--j
On Wed, May 26, 2010 at 3:17 PM, Peter Langfelder
<peter.langfelder at gmail.com> wrote:
> If you didn't specify an external BLAS when you ran R configure
> script, you are not using ATLAS. If you're not sure and you still have
> the output of the configure script, at the end it'll say whether it
> uses an external BLAS.
>
> Alternatively, you may also want to generate two random 5000x5000
> matrices and do their multiplication
>
> a = matrix(rnorm(5000*5000), 5000, 5000)
> b = matrix(rnorm(5000*5000), 5000, 5000)
> c = a%*%b
>
> While the calculation is running, in a separate terminal, run top and
> watch how much CPU R takes. AFAIK standard installation of R is single
> threaded and will only use one CPU (up to 100%). ATLAS is
> multithreaded and (unless you configured it otherwise) it will use all
> available processors, so if you have a 4-core machine, you will see
> CPU usage of nearly 400%. Note though that this will not discriminate
> ATLAS from other multi-threaded BLASes.
>
> HTH,
>
> Peter
>
>
> On Wed, May 26, 2010 at 2:16 PM, Jonathan Greenberg
> <greenberg at ucdavis.edu> wrote:
>> Rhelpers:
>>
>> I recently installed the 64-bit version of R on my Debian system, and
>> afterwards was asked if it was compiled using ATLAS. Is there a way
>> to test to see if R is using ATLAS?
>>
>> --j
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list