From avraham.adler at gmail.com  Sun Dec 17 02:49:52 2017
From: avraham.adler at gmail.com (Avraham Adler)
Date: Sat, 16 Dec 2017 20:49:52 -0500
Subject: [Rd] OpenBLAS in everyday R?
In-Reply-To: <CAPekMCnToUpoj8MgJPGxsPiJdEPQAJi1FgEmyczHGh7aJBEPag@mail.gmail.com>
References: <CAPekMCmNdaQdqJzDLJfNQb=T2X9TjhnZ-Ad9Gd0n6d1ku+Kk=A@mail.gmail.com>
 <CA+hbrhWTNPaEPT4Og1oZ56-Q1DSWNF6aFPqGzdxHVFeFJAVb+A@mail.gmail.com>
 <CAPekMCnToUpoj8MgJPGxsPiJdEPQAJi1FgEmyczHGh7aJBEPag@mail.gmail.com>
Message-ID: <CAL6gwn+8k=yP2AJuo6XcWqTbM-bX9NF77TJiAghosFgzr_uQDw@mail.gmail.com>

On Sat, Dec 16, 2017 at 7:41 PM, Kenny Bell <kmbell56 at gmail.com> wrote:
> It seems like many of the multi-threaded BLASes have some sort of
> fundamental problem preventing use in the way Juan suggests:
>
>  - Dirk's vignette states that ATLAS "fixes the number of cores used at
> compile-time and cannot vary this setting at run-time", so any
> user-friendly implementation for R would have to compile ATLAS for 1-16
> threads to allow the user to switch at run-time. This might dramatically
> affect install times.
>
>  - MKL seems like it's been outright rejected in the past based on not
> being "free-enough".
>
>  - OpenBLAS causes crashes.
>
> Has anyone tried ExBLAS for use with R?
>
> On Sun, Dec 17, 2017 at 1:03 PM, Peter Langfelder <
> peter.langfelder at gmail.com> wrote:
>
>> I would be very cautious about OpenBLAS in particular...  from time to
>> time I get complains from users that compiled code calculations in my
>> WGCNA package crash or produce wrong answers with large data, and they
>> all come from OpenBLAS users. I am yet to reproduce any of their
>> crashes when using MKL and ATLAS BLAS implementations.
>>
>> Just my 2 cents...
>>
>> Peter

I've been building R on Windows 64 bit with OpenBLAS for years and my
builds pass check-devel. For a while in the past it failed one check
as the tolerance was 5e-5 and with my build of OpenBLAS the error was
5.4e-5 or 5.7e-5, but that was changed around R 3.3, if I recall
correctly. I provide descriptions here [1], but I haven't gone so far
as to post compiled Rblas.dlls just yet. My personal build sets 4
threads when compiling OpenBLAS itself as I'm currently on a quad-core
SandyBridge. In tests I ran a few years ago, both single and multi
threaded BLAS compile and then can be compiled into R with no issues
(on my platforms, at least). Most matrix operations performed better
with multi-threaded except for R's eigenvalue decomposition, to the
nest of my recollection.

Avi

[1] https://www.avrahamadler.com/r-tips/build-openblas-for-windows-r64/



[Rd] OpenBLAS in everyday R?
Avraham Adler