我知道它听起来很奇怪,但这里是我的场景:CUDA内核可以调用cublas函数吗?
我需要做矩阵矩阵乘法(A(n * k)* B(k * n)),但我只需要对角线元素对输出矩阵进行评估。我搜索cublas图书馆并没有发现任何可以做到这一点的2级或3级功能。 因此,我决定将A的每一行和B的每一列分配到CUDA线程中。对于每个线程(idx),我需要计算点积“A [idx,:] * B [:,idx]”并将其保存为相应的对角线输出。现在因为这个dot产品也需要一些时间,我想知道我是否可以在这里调用cublas函数(比如cublasSdot)来实现它。
如果我错过了一些cublas函数可以直接实现我的目标(只计算矩阵 - 矩阵乘法的对角元素),这个问题可以被丢弃。
请注意,动态并行性,即允许嵌套内核调用的功能,仅在刚发布的Kepler GK110上受支持。 GK110仅适用于高端计算产品,中级产品是特斯拉K20,价格为3200美元。 –
因此,对于特米拉m2090,这是一个费米GPU,可能不支持动态平行度,对不对? –
它明确不支持,你可以创建一个不同的内核来在GPU上做到这一点 – RSFalcon7