替换BLAS库工作简易教程

首先阅读根目录下的README.install。

生成f2c库

直接在根目录下输入make f2clib,生成libf2c.a

接下来搞BLAS库

发现如果需要替换BLAS库,主要有以下两个区别:
(1)需要连接的BLAS的是CBLAS接口
(2)需要连接的BLAS的是Fortran接口

如果是CBLAS接口的BLAS

这种情况官方举的例子为ATLAS,后面我们替换可以参考。
<1> 在根目录下输入make cblaswrap生成libcblaswr.a 接口包装库。
<2> 需要进入make.inc文件中, 修改BLASLIB = ../../libcblaswr.a -lcblas -latlas.
<3> 然后在输入命令cd CLAPACK/BLAS/TESTING进入BLAS测试目录,分别输入make -f Makeblat2make -f Makeblat3生成level-2与level-3样例.此时BLAS目录下会有测试文件,可用如下命令执行测试:

./xblat2s < sblat2.in           ./xblat2c < cblat2.in
./xblat2d < dblat2.in           ./xblat2z < zblat2.in
./xblat3s < sblat3.in           ./xblat3c < cblat3.in
./xblat3d < dblat3.in           ./xblat3z < zblat3.in

如果是Fortan接口的BLAS

参考官方的样例,自己在泰山服务器中实验发现按如下步骤可以成功执行测试:
<1>进入make.inc文件中, 修改CC = gcc -DNO_BLAS_WRAPBLASLIB = /home/lsl/OpenBLAS/libopenblas.a -lpthread.
<2> 此时不需要生成接口包装库.
<3> 可以如上一节的<3>一样操作,正常进行测试。

编译LAPACK源码

cd CLAPACK/SRC; make,发生报错,缺少INSTALL里的一个文件。
所以最好先进入cd CLAPACK/INSTALL; make
会在根目录生成lapack库。

想要验证正确性,后续看README.md中的(6)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容