gpt4 book ai didi

c++ - 使用 cublas saxpy 时出错

转载 作者:行者123 更新时间:2023-11-30 03:00:01 24 4
gpt4 key购买 nike

我正在尝试使用 cublas 中的 cublasSaxpy 函数。

看代码:

#include <cublas_v2.h>

float *dev_B;
float *dev_tmp;

cublasStatus_t stat ;
cublasHandle_t handle ;
...
...
stat = cublasCreate(&handle);
if(stat != CUBLAS_STATUS_SUCCESS)
{
cout << "CUBLAS Initialization failed!" << endl;
exit(EXIT_FAILURE);
}
...
...
stat = cublasSetVector(N, sizeof(float), vB, N, dev_B, N);
if(stat != CUBLAS_STATUS_SUCCESS)
{
cout << "CUBLAS setting vector failed" << endl;
exit(EXIT_FAILURE);
}

stat = cublasSetVector(N, sizeof(float), nullvec, N, dev_tmp, N);
if(stat != CUBLAS_STATUS_SUCCESS)
{
cout << "CUBLAS setting vector failed" << endl;
exit(EXIT_FAILURE);
}
...
...
stat = cublasSaxpy(handle, N, 1.0f, dev_B, 1, dev_tmp, 1);

因此,我正在使用 CUDA 5.0 RC1 中的 eclipse nsight。我没有构建项目,因为我没有完成它,但是IDE在saxpy操作中给了我一个读取下划线:

Invalid arguments '
Candidates are:
enum {cublas_api.h:3039} cublasSaxpy_v2(cublasContext *, int, const float *, const float *, int, float *, int)

最佳答案

在 CUBLAS V2 API 中,所有标量实参均按引用传递,而不是按值传递。 saxpy 的正确调用应该是这样的:

const float alpha = 1.0f;
stat = cublasSaxpy(handle, N, &alpha, dev_B, 1, dev_tmp, 1);

文档中对此进行了明确讨论。

关于c++ - 使用 cublas saxpy 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com