Cuda 推力::设备_矢量错误
我是新手。我正在尝试从一个Cuda 推力::设备_矢量错误,cuda,thrust,Cuda,Thrust,我是新手。我正在尝试从一个推力::主机_向量复制到一个推力::设备_向量,这两个类型都是序列,这是我已经实现的一个类 但是,我确实收到一个错误“设备功能无效”。 我在GeForce GT 540上使用CUDA 4.0 VS2010 thrust::host_vector <Sequence> Ind_Tabel_V; void Ind_Table_Filling() { //some Code Sequence s; // some code
推力::主机_向量
复制到一个推力::设备_向量
,这两个类型都是序列
,这是我已经实现的一个类
但是,我确实收到一个错误“设备功能无效”。
我在GeForce GT 540上使用CUDA 4.0 VS2010
thrust::host_vector <Sequence> Ind_Tabel_V;
void Ind_Table_Filling()
{
//some Code
Sequence s;
// some code
Ind_Tabel_V.push_back(s);
try
{
thrust::device_vector<Sequence> d_vec=Ind_Tabel_V;
}
catch (thrust::system_error &e)
{
std::cerr << "Error accessing vector element: " << e.what() << std::endl;
}
}
推力:主机向量表;
无效索引表填充()
{
//一些代码
序列s;
//一些代码
指示牌:向后推;
尝试
{
推力:设备向量d向量=Ind Tabel V;
}
捕获(推力::系统错误&e)
{
std::cerr该错误消息通常意味着运行时找不到与您的GPU体系结构匹配的二进制文件,即您没有在编译中包含正确的GPU SM版本。由于您使用的是VS2010,GPU体系结构通常通过构建自定义设置。在CUDA C/C++下的项目属性中,您应该看到“代码生成”选项。我不确定您的GPU是哪一代,但您可以尝试“计算20,sm 20;计算20,sm 21”“为两种费米体系结构构建。代码看起来不错。我认为错误在代码的其他地方。在调用上述代码之前,请确保检查每次CUDA调用的返回值。能否提供
类序列的定义?”?