Building R 4.0.2 from source via clang/xcode for MKL on macOS
In my understanding, almost all of the speed up comes from using an optimized BLAS. Optimizing LAPACK tend to have negligible impact on performance. At least that is my impression, although I won't say I'm an expert. Best, Kasper
On Tue, Sep 29, 2020 at 9:53 AM roy <rollinforall at gmail.com> wrote:
Hi Simon, Thanks for the info. I was totally unaware of ABI, vecLib, etc and that Apple has blas, lapack, etc. But after reading up on this and re-reading your email, I'm beginning to understand more about this. So, I would like to first checkout vecLib. From what you say, would I have to do something like the following? ./configure --enable-BLAS-shlib --with-blas="-lBLAS" ... Is this also possible with LAPACK? tx again. cheers, roy On Mon, Sep 28, 2020 at 3:01 PM Simon Urbanek <simon.urbanek at r-project.org
wrote:
Rollin, it has been several years since I last tested MKL, so take it with a
grain
of salt, but in general you don't necessarily have to build R with MKL in order to use it - you only need to use --enable-BLAS-shlib and link to
any
ABI-compatible BLAS which can be vecLib as well. Then you can change the link from vecLib to MKL in the BLAS stub. Note that we only need the C
ABI,
there are wrappers vecLibg95f.* which re-map the F entry points to C
entry
points as to avoid Fortran ABI issues thus you don't care about the Fortran. However, historically, MKL has not been much more performant
than
vecLib so it's unclear if it is worth the hassle. As with any accelerated BLAS, note that this may have effects on results in R. Cheers, Simon
On 28/09/2020, at 7:07 PM, rollin <rollinforall at gmail.com> wrote: I wanted to build R from source on macos (10.15.5) so I could include Intel's MKL. So I first looked at building R from source without MKL. From the installation doc, I modified config.site to have the
following:
CC=clang OBJC=$CC FC=/usr/local/bin/gfortran CXX=clang++ I then ran configuration via the command: ./configure -C --enable-R-shlib --enable-memory-profiling --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib
PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
And received the following information and error: checking if bzip2 version >= 1.0.6... no checking whether bzip2 support suffices... configure: error: bzip2
library
and headers are required By looking at the log, I saw a compiler error due to an implicit
function.
I then made the following change in config.site: CFLAGS='-Wno-implicit-function-declaration -g -O2'' And configure now ran without errors. However, when I looked at configuring to use MKL, I discovered that MKL
on
macos does not support gnu fortran so, unless I purchase Intel's
Fortran
compiler, it looks like I'm sol. Has anyone built R with MKL on macos (10.15)? In any event, I wanted
to
at
least note the issue and work around I encountered when building R on
macos with clang/xcode.
[[alternative HTML version deleted]]
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac
[[alternative HTML version deleted]]
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac
Best, Kasper [[alternative HTML version deleted]]