所以我有一个执行矩阵乘法的代码,但问题是当我使用库-lcublas和编译器nvcc时,它只返回零值;然而,当我使用编译器时,代码运行良好,只需对函数名进行一些调整,g ++与库-lblas即可。您可以使用cublasDdot()在非GPU内存中使用blas操作吗?
您可以使用-lcublas库从不在GPU上的内存执行矩阵乘法吗?
下面是返回0的代码:
extern "C" //external reference to function so the code compiles
{
double cublasDdot(int *n, double *A, int *incA, double *B, int *incB);
}
//stuff happens
cout << "Calculating/printing the contents of Matrix C for ddot...\n";
C[i][t]=cublasDdot(&n, partA, &incA, partB, &incB); //This thing isn't working for some reason (although it compiles just fine)
我使用这个命令编译:nvcc program -lcublas
这确实然而工作:
extern "C" //external reference to function so the code compiles
{
double ddot_(int *n, double *A, int *incA, double *B, int *incB);
}
//stuff happens
C[i][t]=ddot_(&n, partA, &incA, partB, &incB);
与g++ program -lblas
我现在非常自信,答案是“不”。稍后再给我一点时间,我会在后面回复。 – Mechy