[R-sig-ME] Openblas and lme4

Christian Brauner christianvanbrauner at gmail.com
Sat Nov 15 15:09:35 CET 2014


For testing/research purposes I compiled R from source with blas as a
shared library. I then went on to compile openblas from source, tuned it
to Sandybridge and linked R against. The crucial step being:

    cd /usr/local/lib/R/lib \
    && mv libRblas.so libRblas.so.old \
    && ln -s /usr/local/lib/libopenblas_sandybridgep-r0.2.12.so libRblas.so

It worked perfectly and I see as output from /cat/pid/status:
    Name:   R
    State:  S (sleeping)
    Threads:        4

Tests with the Matrix library confirm that threading works and the
increase in speed is significant for linear algebra operations such as
solve(), chol() etc.

I was wondering if lmer can make any use of this? I couldn't find a lot
on the internet. Just some posts from R-bloggers vaguely referencing
lme4 and some comments by Doug but I couldn't come to a conclusion
whether lme4 will see improvements in speed at least for larger models.
So far all my calls to lmer() on R with openblas run on a single core.
To pinpoint whether I did something wrong during compilation or if lme4
cannot reall profit from openblas I thought asking here might be a good


(For the sake of completeness: The exact compilation instructions I used
can also be found here
Someone who runs an ivy- or sandybridge cpu and uses docker can also
pull a docker image with "docker pull brauner/rblas" and check for
himself if I did something wrong.)

More information about the R-sig-mixed-models mailing list