Cohn, Robert S
2017-Oct-30 16:45 UTC
[Rd] Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
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]]
Avraham Adler
2017-Oct-30 18:05 UTC
[Rd] Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
On Mon, Oct 30, 2017 at 12:45 PM, Cohn, Robert S <robert.s.cohn at intel.com> 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
Ista Zahn
2017-Oct-30 23:37 UTC
[Rd] Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
On Mon, Oct 30, 2017 at 12:45 PM, Cohn, Robert S <robert.s.cohn at intel.com> 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]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Apparently Analagous Threads
- Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
- Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
- Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
- Debate: Shall some of Microsoft R Open Code be ported to mainstream R?
- OpenBLAS in everyday R?