基本步骤:
git clone git://github.com/xianyi/OpenBLAS
cd OpenBLAS
sudo apt-get install gfortran
sudo make FC=gfortran
sudo make install
最后安装在/opt
下,执行:
ln -s /opt/OpenBLAS/lib/libopenblas.so.0 /usr/lib/libopenblas.so.0
创建一个测试程序:
#include <stdio.h>
#include <stdlib.h>
#include "cblas.h"
int main(){
int n; /*! array size */
double da; /*! double constant */
double *dx; /*! input double array */
int incx; /*! input stride */
double *dy; /*! output double array */
int incy; /*! output stride */
int i;
n = 10;
da = 10;
dx = (double*)malloc(sizeof(double)*n);
incx = 1;
dy = (double*)malloc(sizeof(double)*n);
incy = 1;
for(i=0;i<n;i++){
dx[i] = 9-i;
dy[i] = i;
printf("%f ",dy[i]); //输出原来的dy
}
printf("
");
cblas_daxpy(n, da, dx,incx, dy, incy); //运行daxpy程序
// cblas_dcopy(n, dx,incx, dy, incy); //运行dcopy程序
for(i=0;i<n;i++){
printf("%f ",dy[i]); //输出计算后的dy
}
printf("
");
return 0;
}
运行以下命令,生成a.out可执行文件:
gcc test.c -I /opt/OpenBLAS/include/ -L/opt/OpenBLAS/lib -lopenblas
执行结果:
0.000000 1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000
90.000000 81.000000 72.000000 63.000000 54.000000 45.000000 36.000000 27.000000 18.000000 9.000000