[R-SIG-Mac] ATLAS BLAS

Martin Renner mrenner at mun.ca
Thu Oct 21 07:55:16 CEST 2010


Unfortunately, I can report that the vecLib bug also affects Core i5 processors. At least I see it on a current MacBook Pro, so presumably it would affect current iMacs as well. I've tried to compile Goto's BLAS (as described here at http://github.com/snb/labench/wiki/tips-for-building-gotoblas-and-lapackas ) well as ATLAS but failed in both cases. I've been able to compile ATLAS as a static library, but failed to compile a dynamic library. Any pointers would be greatly appreciated (sorry for running a bit off topic). 

Cheers,
Martin

Martin Renner				
Post-doctoral Fellow		
School of Aquatic and Fishery Sciences
University of Washington	
Seattle, USA





PS: compiling Goto's BLAS with 'make GETARCH_FLAGS=-m32' fails as follows: 

gcc -O2 -DEXPRECISION -m128bit-long-double -Wall -m64 -DF_INTERFACE_GFORT -fPIC  -DSMP_SERVER -DMAX_CPU_NUMBER=4 -DASMNAME=_sgemm_kernel -DASMFNAME=_sgemm_kernel_ -DNAME=sgemm_kernel_ -DCNAME=sgemm_kernel -DCHAR_NAME=\"sgemm_kernel_\" -DCHAR_CNAME=\"sgemm_kernel\" -DNO_AFFINITY -I.. -UDOUBLE  -UCOMPLEX -c -UDOUBLE -UCOMPLEX ../kernel/x86_64/gemm_kernel_8x4_sse3.S -o sgemm_kernel.o
../kernel/x86_64/symv_L_sse.S:418:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_L_sse.S:418:cannot do signed 4 byte relocation
../kernel/x86_64/symv_L_sse.S:437:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_L_sse.S:437:cannot do signed 4 byte relocation
../kernel/x86_64/symv_L_sse.S:462:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_L_sse.S:462:cannot do signed 4 byte relocation
../kernel/x86_64/symv_L_sse.S:503:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_L_sse.S:503:cannot do signed 4 byte relocation
../kernel/x86_64/symv_L_sse.S:522:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_L_sse.S:522:cannot do signed 4 byte relocation
../kernel/x86_64/symv_L_sse.S:547:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_L_sse.S:547:cannot do signed 4 byte relocation
make[1]: *** [ssymv_L.o] Error 1
make[1]: *** Waiting for unfinished jobs....
../kernel/x86_64/symv_U_sse.S:393:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_U_sse.S:393:cannot do signed 4 byte relocation
../kernel/x86_64/symv_U_sse.S:412:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_U_sse.S:412:cannot do signed 4 byte relocation
../kernel/x86_64/symv_U_sse.S:437:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_U_sse.S:437:cannot do signed 4 byte relocation
../kernel/x86_64/symv_U_sse.S:478:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_U_sse.S:478:cannot do signed 4 byte relocation
../kernel/x86_64/symv_U_sse.S:497:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_U_sse.S:497:cannot do signed 4 byte relocation
../kernel/x86_64/symv_U_sse.S:522:32-bit absolute addressing is not supported for x86-64
../kernel/x86_64/symv_U_sse.S:522:cannot do signed 4 byte relocation
make[1]: *** [ssymv_U.o] Error 1
make: *** [libs] Error 1




On 20 Oct 2010, at 19:31 , Simon Urbanek wrote:

> 
> On Oct 20, 2010, at 10:53 PM, huang min wrote:
> 
>> Does this binary of ATLAS also work on a Core 2 Duo cpu? Thanks.
>> 
> 
> It does, but it's optimized for a 16-thread machine, so it will spawn way too many threads for a core 2 duo. Still, I'm surprised that even that can be faster than vecLib (although not by much - 15.7s vs 20.7s on the tcrossprod test). Note that the vecLib bug only affects Mac Pros (AFAICT) so with other machines you can still stick with vecLib.
> 
> Cheers,
> Simon
> 
> 
>> Huang
>> 
>> On Thu, Oct 21, 2010 at 9:39 AM, Simon Urbanek <simon.urbanek at r-project.org> wrote:
>> On Oct 20, 2010, at 7:35 PM, Steven McKinney wrote:
>> 
>>> I have R 2.11.1 installed (soon will update to R 2.12) and I appear to have a Nehalem-based Mac Pro.
>>> 
>>> I'm trying to find documentation about how to set up R on my Mac so I'm using the ATLAS BLAS.
>>> 
>> 
>> Well, you have to get it [=ATLAS] first. Then it's as easy as pointing the libRblas.dylib symlink to it.
>> 
>> 
>> I have a binary of ATLAS that you can use if you have Mac OS X 10.6 (Snow Leopard) it's at
>> http://r.research.att.com/libatlas-MacPro.dylib
>> 
>> So the copy/paste steps (you have to be admin) are:
>> 
>> cd /Library/Frameworks/R.framework/Resources/lib
>> curl -O http://r.research.att.com/libatlas-MacPro.dylib
>> chmod a+x libatlas-MacPro.dylib
>> ln -sfn libatlas-MacPro.dylib libRblas.dylib
>> 
>> 
>> ## if you want to go back to vecLib
>> cd /Library/Frameworks/R.framework/Resources/lib
>> ln -sfn libRblas.vecLib.dylib libRblas.dylib
>> 
>> ## if you want to use R's BLAS (not as fast but more reliable)
>> cd /Library/Frameworks/R.framework/Resources/lib
>> ln -sfn libRblas.0.dylib libRblas.dylib
>> 
>> 
>>> I installed this version of R using the Mac installer R-2.11.1.pkg.
>>> Does this installer set up R that uses the ATLAS BLAS, or are there
>>> additional steps I need to take to have R use the ATLAS BLAS?
>>> 
>>> Once R is up and running, can anyone tell me how I can determine
>>> which BLAS R is using?
>>> 
>> 
>> Indirectly, just look at the output of
>> ls -l /Library/Frameworks/R.framework/Resources/lib/libRblas.dylib
>> 
>> Cheers,
>> Simon
>> 
>> 
>> 
>>> Any info appreciated.
>>> 
>>> 
>>> 
>>>> sessionInfo()
>>> R version 2.11.1 (2010-05-31)
>>> x86_64-apple-darwin9.8.0
>>> 
>>> locale:
>>> [1] en_CA.UTF-8/en_CA.UTF-8/C/C/en_CA.UTF-8/en_CA.UTF-8
>>> 
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>> 
>>> loaded via a namespace (and not attached):
>>> [1] tools_2.11.1
>>> 
>>> 
>>> 
>>> 
>>> Steven McKinney
>>> 
>>> _______________________________________________
>>> R-SIG-Mac mailing list
>>> R-SIG-Mac at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>> 
>>> 
>> 
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>> 
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac



More information about the R-SIG-Mac mailing list