之前没有编译过OpenBlas,今天试了一下。
与参考博客不同之处,我的系统是win10,opencOpenBlas版本0.2.14,Visual Studio版本15.
编译使用MSYS2安装mingw32和mingw64分别编译32位和64位的库。使用mingw编译不使用visual sutdio编译的好处是visual studio没有汇编,不能使用基于机器的优化,生成的库性能不如使用mingw编译的库。
在Openblas目录下有一个TargetList.txt文件,这里面写的是支持的系统的架构。
下面是OpenBlas 0.2.14的TargetList.txt文件关于x86架构的细分。
1.X86/X86_64 a)Intel CPU: P2 KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS YONAH CORE2 PENRYN DUNNINGTON NEHALEM SANDYBRIDGE HASWELL ATOM
关于架构的说明:
KATMAI:第一个P3的核心,和P2一样使用0.25纳米制程,增加了SSE指令集和一级缓存。首次推出的速度是450和500MHz。以后的版本是:550 MHz于1999年5月17日推出;600MHz于1999年8月2日推出。在1999年9月27日,
Intel推出533B和600B的版本,分别是533/600MHz,但是使用的是133MHz前端总线,而先前的其他是使用100MHz。Katmai使用与Pentium II一样的接口Slot 1。
使用MSYS2加mingw64编译没有问题,使用mingw32编译遇到错误:
在msys64下使用mingw32.exe进入OpenBLAS文件夹下
make
遇到错误:
ar: strmm_kernel_LN.o: No such file or directorymake[1]
解决办法:
make BINARY=32
编译成功。
参考博客:https://blog.csdn.net/yangyangyang20092010/article/details/45156881
参考博客:https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio