Mips平台kaldi源码的交叉编译一OpenBlas及Clapack的交叉编译

版权声明: https://blog.csdn.net/cj1989111/article/details/84323149

前言:

OpenBlas是一款开源的矩阵运算库,具体介绍参考http://www.openblas.net/ 。在linux PC上,即训练时,采用的数学矩阵库为atlas,此数学库未开源,在linux中只提供lib库,所以在嵌入式平台中,我们需要编译openblas生成对应的数学矩阵库。

除OpenBlas外,kaldi还需要线性代数的库,即Clapack。

OpenBlas下载:

Github:  git clone https://github.com/xianyi/OpenBLAS.git

OpenBlas编译:

1. 首先查看TargetList.txt,选择你要编译的平台架构,我使用的mips是一款国产芯片,在TargetList.txt中没有该选项,选择一个接近的P5600

2. 修改 Makefile.system 文件

ifeq ($(CORE), P5600)
#CCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600  $(MSA_FLAGS)
#FCOMMON_OPT += -mips32r5 -mnan=2008 -mtune=p5600  $(MSA_FLAGS)
CCOMMON_OPT += -mips32r2 -mtune=mips32r2 -mhard-float $(MSA_FLAGS)
FCOMMON_OPT += -mips32r2 -mtune=mips32r2 -mhard-float $(MSA_FLAGS)
endif

3. 修改 Makefile.prebuild 文件

ifeq ($(TARGET), P5600)
#TARGET_FLAGS = -mips32r5
TARGET_FLAGS = -mips32r2
endif

4. 执行命令 :  make BINARY=32 BINARY32=1 CC=mips-linux-gnu-gcc FC="mips-linux-gnu-gfortran -EL" RANLIB=mips-linux-gnu-ranlib AR=mips-linux-gnu-ar HOSTCC=gcc CFLAGS="-EL" FFLAGS=$CFLAGS LDFLAGS=$CFLAGS TARGET=P5600 ONLY_CBLAS=1 USE_THREAD=0

下图证明编译成功

5. make PREFIX=./install/ install

以上,openblas编译完成,生成的库在目录: OpenBLAS/install/ 

-------------------------------------------------------------------------------------------------------------------------------------------------------

下面介绍Clapack相关的编译方法

Clapack下载:

Clapack编译:

待完成...

猜你喜欢

转载自blog.csdn.net/cj1989111/article/details/84323149
今日推荐