我正在嘗試編寫一個在內核中執行多個向量點積的代碼。我正在使用cublasSdot功能從cublas庫執行矢量點產品。這是我的代碼: using namespace std;
__global__ void ker(float * a, float * c,long long result_size,int n, int m)
{
float *sum;
int id = blockIdx.
產生錯誤內核代碼: __kernel void testDynamic(__global int *data)
{
int id=get_global_id(0);
atomic_add(&data[1],2);
}
__kernel void test(__global int * data)
{
int id=get_global_id(0);
在here羅伯特克羅維拉說,cublas例程可以從設備代碼調用。雖然我使用動態並行和使用計算能力3.5進行編譯,但我無法通過設備函數調用Cublas例程。我總是得到錯誤我的代碼包含了設備的功能,其調用CUBLAS程序一樣cublsAlloc,cublasGetVector,cublasSetVector和cublasDgemm 我的編輯和「從設備/全球功能是不允許調用主機功能」聯的命令:
n