This is more on post-multiplying a matrix by a diagonal matrix (in six different ways). The machine-comparison results from this little exercise can be explained by three factors -- CPU speed -- number of threads -- BLAS library Of the six methods, the first two use BLAS, the last four do not. For the last four, times are determined largely by CPU speed. For the first two methods, there are two things going on. First, BLAS in the Windows implementation of R is faster than the vecLib BLAS on OS X. Second, on the Mac Pro with Nehalem, for reasons unknown (bug !!) the OS decides to use a non-parellel single-threaded BLAS. Running the same code, with the same OS and the same R, on a MacBook or an iMac or a MacAir, does use multiple threads. This is all under OS X 10.6.5, by the way, using R-develop from svn. Running the same code in Parallels emulation, using Windows R on the MacPro, uses multiple threads as well. I cannot possibly convey how annoying this is. -------------- next part -------------- A non-text attachment was scrubbed... Name: matdiag.R Type: application/octet-stream Size: 1077 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-sig-mac/attachments/20100908/a80c31d4/attachment.obj> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: imac.txt URL: <https://stat.ethz.ch/pipermail/r-sig-mac/attachments/20100908/a80c31d4/attachment.txt> -------------- next part -------------- =============================================================== Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225 home 661-245-1725 mobile 661-231-5416 work 310-825-9550 .mac: jdeleeuw +++ aim: deleeuwjan +++ skype: j_deleeuw =============================================================== I am I because my little dog knows me. Gertrude Stein
Broken BLAS
1 message · Jan de Leeuw