OpenBlas库----cblas_dgemm()函数

    在Caffe的源码中有很多地方使用OpenBlas库进行矩阵运算,今天就简单讲一下我在使用cblas_dgemm()函数的使用时遇到的问题。

    在网上查到的资料很多都是简单的说了下cblas_dgemm()函数的参数和功能,具体怎么用没有给出相应的代码,而且我对里面的转置也是很迷惑。先给大家几个博客地址:

官方例子:https://github.com/xianyi/OpenBLAS/wiki/User-Manual

很棒的以一个例子,我根据这个搞定的:http://blog.sina.com.cn/s/blog_4a03c0100101ethf.html

这个也不错:http://blog.csdn.net/g_spider/article/details/6054990

    在看下面的内容之前,请先仔细阅读函数参数。

    好了言归正传,讲讲几个大家不太熟悉的参数。

    第一个参数是选择行主序还是列主序。那什么是行主序?什么又是列主序呢?如下所示

    数组A[1,2,3,4,5,6,7,8,9]

    如果我们想将A按照行主序(CblasRowMajor)展开成一个3*3的矩阵结果如下:

    [1,2,3

     4,5,6

     7,8,9]

    如果我们想将A按照列主序(CblasRowMajor)展开成一个3*3的矩阵结果如下:

   [1,4,7

     2,5,8

     3,6,9]

    其实我们发现按照行主序就是按照行遍历矩阵得到数组A,按照列主序就是按照列遍历矩阵得到数组A。

    第二个参数:是不转置(CblasTrans  or  CblasNoTrans)

    开始对这个参数很迷惑,后来发现其实很简单,这个参数是和前面的参数(行或列主序)配合使用的。举例:如果你已经选择CblasRowMajor  如果CblasTrans被选择࿰

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值