2012-05-04 50 views
1

我试图执行一些示例代码从推力快速入门指南。它粘贴在下面。什么是杀我是,当我运行它时,我得到一个异常抛出“R6010 -abort()被称为)每当我打我find_ifnvidia cuda推力abort()呼吁find_if

我试过这个使用4.1和4.2运行时间我在Visual Studio 2010 Ultimate中使用最新的NSight发布候选版本(2012年5月4日下载)构建了这个版本,我的图形卡是NVidia NVS 3100m。新的VS项目(不使用推力)和它的作品没关系。增加推力但给了我这个古怪。

任何建议表示赞赏。

MJ

thrust::device_vector<int> input(4); 

input[0] = 0; 
input[1] = 5; 
input[2] = 3; 
input[3] = 7; 

thrust::device_vector<int>::iterator iter; 

iter = thrust::find_if(input.begin(), input.end(), greater_than_four()); 
iter = thrust::find_if(input.begin(), input.end(), greater_than_ten()); 

EDIT1

另一个信息珍闻。我正深入挖掘并看到在cudaThreadSynchronize()期间发现错误。该消息是“launch_closure_by_value”。

回答

1

我想通了。 __host____device__标签丢失。

struct greater_than_four 
{ 
__host__ __device__ 
    bool operator()(int x) 
    { 
     return x > 4; 
    } 
}; 
+0

你可以提供一些更多的细节。问题出在哪里? – nouveau

+0

你看到第三行? “__主机__ __设备__”。这就是缺少的。下划线和文本之间不应有空格。 –