On 26 May 2010 at 20:29, Jonathan Greenberg wrote: | 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!
I suggest that you a) talk to Sylvestre, the Atlas maintainer (CC'ed), as the last time I checked I thought our Atlas 3.8.* package were configure to be single-threaded so while you did the right thing with the local tuning, you may have omitted another toggle to give you multi-threaded Atlas b) look into Goto Blas from tacc.utexas.edu and/or Intel MKLs as well. Lastly, my preferred test is N <- someNumber a <- matrix(rnorm(N*N), ncol=N) n <- someOtherNumber summary(replicate(n,system.time(crossprod(A))[3])) :) Dirk | --j | | On Wed, May 26, 2010 at 3:17 PM, Peter Langfelder | <peter.langfel...@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 | > <greenb...@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@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@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@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. -- Regards, Dirk ______________________________________________ R-help@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.