【发布时间】:2015-05-02 12:42:15
【问题描述】:
考虑 sgarizvi 在
上发布的代码CUBLAS: Incorrect inversion for matrix with zero pivot
我正在使用该代码作为我的问题的现成复制器。
如果我用 CUDA 6.0 编译它,一切正常。与此相反,如果我使用 CUDA 6.5 或 CUDA 7.0 Release Candidate 编译它,我会收到:
Error 13 error C2664: 'cublasSgetriBatched' : cannot convert parameter 3 from 'float **' to 'const float *[]' C:\Users\user\Documents\Project\StackOverflow15\StackOverflow15\kernel.cu 70 1 StackOverflow15
这是一个错误还是我做错了什么?
我的配置:Windows 7、Microsoft Visual Studio 2010、发布模式、x64、compute_20、sm_21。
编辑
根据 Robert Crovella 的回答和 Park Young-Bae 的评论,可以通过更改行将指出的示例修复为与 CUDA 6.5 或 7.0 一起使用
cublascall(cublasSgetriBatched(handle,n,A_d,lda,P,C_d,lda,INFO,batchSize));
到
cublascall(cublasSgetriBatched(handle,n,(const float **)A_d,lda,P,C_d,lda,INFO,batchSize));
【问题讨论】: