Computational speed - MCMCglmm/lmer
On Sat, Jun 19, 2010 at 10:42 AM, David Atkins <datkins at u.washington.edu> wrote:
Hi all-- I use (g)lmer and MCMCglmm on a weekly basis, and I am wondering about options for speeding up their computations. ?This is primarily an issue with MCMCglmm, given the many necessary MCMC iterations to get to convergence on some problems. ?But, even with glmer(), I have runs that get into 20-30 minutes. 3. "Optimized" BLAS: There's a bit of discussion about optimized BLAS (basis linear algebra... something). ?However, these discussions note that there is no generally superior BLAS. ?Not sure whether specific BLAS might be optimized for GLMM computations. 4. Parallel computing: With multi-core computers, looks like there are some avenues for splitting intensive computations across processors.
Hi, Dave: I've wondered this same thing. I replaced the base R BLAS with GOTOBLAS2 and ATLAS and both are much faster than R's base BLAS. In Gotoblas2, computation is about 10 x faster on linear algebra problems, especially on the kinds of problems where it can thread computations across all cores. The BLAS library from Atlas does not seem to thread, so it is not quite so fast. In either case, I've tested your example on this Lenovo T61 laptop with dual core Pentium that maxes out at 2.4GHz, To calculate your model with the base R BLAS: drk.glmer user system elapsed 29.920 0.120 30.245 The time elapsed with the optimized BLAS is not so much faster as I had expected. With Atlas it is: user system elapsed 25.660 0.100 25.784 Gotoblas2 is almost identical, I'm quite surprised. On other tests I've done, it supplies a more noticeable speedup because it can go multi core when needed. I was monitoring the CPU and the calculations all stay on one core. user system elapsed 25.670 0.050 25.725 Well, if you use Atlas or GOTOBLAS2, you can expect a speedup of about 1/6th. I made the mistake of running that example with MCMCglmm in your code. The system is locked in mortal combat with that. I didn't notice your time was 1208. before I started that one. :( pj
Paul E. Johnson Professor, Political Science 1541 Lilac Lane, Room 504 University of Kansas