a=rand(256,256);
b=rand(256,256);
c=a.*b;
上面是matlab中的代码,我在cublas中没找到matlab中的.*函数,找到的是cublasSdotu函数,这个函数是算的点积,它是把.*完的结果还要累加。请问一下cublas中有没有.*的函数呢?
LZ您好:
您题目中的“电乘”应该是“点乘”。
点乘在一般数学中指的是dot product或者inner product,也就是blas库里面的那种形式,最后得到一个和。
在matlab中,为了区别于矩阵相乘,使用.*表示矩阵/矢量元素的相乘,并被俗称为“点乘”,但我个人建议不使用这个俗称,以免和真正的术语“点乘”混淆。
大致翻了下cublas的手册,似乎并无直接提供这个计算的函数。(以及这个计算看上去只是将多个元素的乘法一起计算了,而不是线性代数中常用的计算。)
但由于我不常用cublas和其他blas库,因而并不知道是否有变通的方法。
但好在这个计算很容易实现,您可以简单地写个kernel实现,或者将这个步骤集成到您的算法中。
大致如此,祝您好运~
好的 谢谢ice版主
不客气的,欢迎您常来~