所以我有一个执行矩阵乘法的代码,但问题是当我使用库 -lcublas 和编译器 nvcc 时它只返回零;但是,当我使用编译器 g++ 和库 -lblas 时,只需对函数名称进行一些调整,代码就运行良好。
您可以使用 -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