Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

Cohn, Robert S
I think the thing that is missing is a simple way for end users on windows to replace blas/lapack libraries with MKL-a package that you install that puts the libraries in the right place.

Microsoft provides something for their distro, but we don't have the equivalent if you get R from cran.


On 29 October 2017 at 22:01, Kenny Bell wrote:

| User here: incorporating Intel's MKL, as MRO does, would be a very welcome

| addition.

|

| I was an MRO user before and it improved my experience with medium data

| immensely.

|

| They did, however, leave behind bugs here and there, especially related to

| development with Rcpp, so I switched back to vanilla R.



With all due respect: You may miss something. MKL has always worked with 'Base R'.



As a point of reference and comparison, I set up a benchmarking and

comparison package _well over half a decade ago_ and while it never get fully

finished to the point of a submitted paper the vignette still stands---and

demonstrates that _dropping in MKL is a one-line operation_.



And always has been.  There may have been some license arbitrage: Intel was

an early investor in Revo, so MKL was pushed hard.  With GotoBLAS and later

OpenBLAS I cared less, but IIRC the license of MKL is a little simpler for

"mere use" now.



See  https://cloud.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf  for more.



Hth,  Dirk


        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

Avraham Adler
On Mon, Oct 30, 2017 at 12:45 PM, Cohn, Robert S
<[hidden email]> wrote:
> I think the thing that is missing is a simple way for end users on windows to replace blas/lapack libraries with MKL-a package that you install that puts the libraries in the right place.
>
> Microsoft provides something for their distro, but we don't have the equivalent if you get R from cran.
>

Dr. Ei-ji Nakama has some compiled GotoBLAS Rblas DLLs on his site
[1], but they are rather old now. I've toyed with the idea of doing
something similar for OpenBLAS—which requires tricking R into thinking
it's ATLAS [2]—and hosting at least a Sandy Bridge and a dynamic
version. I'm not sure how the licenses and copyrights would interact
though. Also, that only works for the BLAS. Using an optimized LAPACK
is even more difficult. On Unix-likes, the manual does not recommend
it but it's allowed as an option in the configure [3]. For OpenBLAS
(and ATLAS for that matter), even though one can build an optimized
LAPACK, there is no way to access the build of the LAPACK on Windows
through Mkrules.local, and R_HOME/src/modules/lapack/README makes it
seem to be rather difficult, if not impossible. I believe the MKL
includes a specialized LAPACK; I do not know if this is compiled into
M$ R, though.

Thanks,

Avi

[1] https://prs.ism.ac.jp/~nakama/SurviveGotoBLAS2/binary/windows/
[2] https://www.avrahamadler.com/r-tips/build-openblas-for-windows-r64/
[3] https://cran.r-project.org/doc/manuals/r-release/R-admin.html#LAPACK

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Debate: Shall some of Microsoft R Open Code be ported to mainstream R?

Ista Zahn
In reply to this post by Cohn, Robert S
On Mon, Oct 30, 2017 at 12:45 PM, Cohn, Robert S
<[hidden email]> wrote:
> I think the thing that is missing is a simple way for end users on windows to replace blas/lapack libraries with MKL-a package that you install that puts the libraries in the right place.
>
> Microsoft provides something for their distro, but we don't have the equivalent if you get R from cran.

I don't have any interest in using a proprietary BLAS when a perfectly
good free alternative exists. If we just care about performance,
swapping out the reference BLAS for openBLAS is pretty simple
apparently:

- Download pre-compiled openblas from
https://sourceforge.net/projects/openblas/files/ (windows binaries
currently available for 2.19 but not 2.20)
- Unzip and copy libopenblas.dll to C:\Program Files\R\R-3.4.x\bin\x64
and rename it "Rblas.dll"
- Download the mingw dll's (e.g., from
https://sourceforge.net/projects/openblas/files/v0.2.15/mingw64_dll.zip/download),
unzip and copy all the dll's to C:\Program Files\R\R-3.4.x\bin\x64

Best,
Ista

>
>
> On 29 October 2017 at 22:01, Kenny Bell wrote:
>
> | User here: incorporating Intel's MKL, as MRO does, would be a very welcome
>
> | addition.
>
> |
>
> | I was an MRO user before and it improved my experience with medium data
>
> | immensely.
>
> |
>
> | They did, however, leave behind bugs here and there, especially related to
>
> | development with Rcpp, so I switched back to vanilla R.
>
>
>
> With all due respect: You may miss something. MKL has always worked with 'Base R'.
>
>
>
> As a point of reference and comparison, I set up a benchmarking and
>
> comparison package _well over half a decade ago_ and while it never get fully
>
> finished to the point of a submitted paper the vignette still stands---and
>
> demonstrates that _dropping in MKL is a one-line operation_.
>
>
>
> And always has been.  There may have been some license arbitrage: Intel was
>
> an early investor in Revo, so MKL was pushed hard.  With GotoBLAS and later
>
> OpenBLAS I cared less, but IIRC the license of MKL is a little simpler for
>
> "mere use" now.
>
>
>
> See  https://cloud.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf  for more.
>
>
>
> Hth,  Dirk
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel