我正在尝试执行 Thrust 快速入门指南中的一些示例代码。它贴在下面。让我丧命的是,当我运行它时,每当我点击 find_if 时都会抛出一个异常“R6010 -abort() 已被调用”。
我已经尝试过使用 4.1 和 4.2 运行时。我正在使用最新的 NSight 候选版本(2012 年 5 月 4 日下载)在 Visual Studio 2010 Ultimate 中构建它。我的显卡是 NVidia NVS 3100m。
我可以运行在一个新的 VS 项目(不使用 Thrust)中生成的向量添加示例,它工作正常。然而,添加推力给了我这种奇怪的感觉。
任何建议表示赞赏。
米
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());
编辑1
又是一条信息。我正在深入研究这一点,发现在 cudaThreadSynchronize() 期间发现了一个错误。消息是“launch_closure_by_value”。