之前沒有編譯過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