OpenBLAS是一套开源的线性代数算法子程序库的实现版本,包含了矩阵的运算处理函数。很多甚多学习框架例如Tengine支持以它为基础的算子实现,下述在ubuntu14.04平台上的编译过程:

1.获取源码

    git clone [email protected]:xianyi/OpenBLAS.git

2.进入顶层目录,直接敲入make编译,默认编译host机代码,编译结束后:

     OpenBLAS线性代数子程序开源库的编译

3.安装,敲入命令 make install PREFIX=/path/to/install

   例如:

   make install PREFIX=/home/czl/WorkSpace/blas/libraryOpenBLAS线性代数子程序开源库的编译

4.查看安装结果:

      OpenBLAS线性代数子程序开源库的编译

BLAS的实现有很多版本,OpenBLAS 是其中比较流行的一个,评价一个实现好坏的标准无非是计算效率,单位算力谁结果出来的最快,谁就好。

看了下内部实现,不知道为什么,使用前必须先调用openblas_set_num_threads函数

设置库允许创建的线程数,这种方式对RTOS很不友好。

OpenBLAS线性代数子程序开源库的编译

 

写一个测试用例:

OpenBLAS线性代数子程序开源库的编译

避免麻烦,静态编译:

 gcc  main.c -o main -I ./library/include/ -L ./library/lib/ -lopenblas -lpthread -static

执行

OpenBLAS线性代数子程序开源库的编译

这样,对算子有了一定的了解,无非是一个计算单元,实现了指定计算的加速。

相关文章:

  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-20
  • 2021-08-28
  • 2021-06-19
  • 2021-12-20
猜你喜欢
  • 2022-01-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-06
  • 2021-08-26
相关资源
相似解决方案