1

Thrustクイックスタートガイドのサンプルコードを実行しようとしています。下に貼り付けます。私を殺しているのは、それを実行しているときに、find_ifを押すたびに、「R6010 -abort()が呼び出されました)という例外がスローされることです。

4.1ランタイムと4.2ランタイムの両方を使用してこれを試しました。これは、最新のNSightリリース候補(2012年5月4日ダウンロード)を使用してVisual Studio2010Ultimateで構築しています。私のグラフィックカードはNVidiaNVS3100mです。

新しいVSプロジェクト(Thrustを使用しない)で生成されたベクトル追加サンプルを実行でき、問題なく動作します。ただし、スラストを追加すると、この奇妙さが増します。

任意の提案をいただければ幸いです。

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());  

編集1

もう1つの情報。私はこれをさらに深く掘り下げており、cudaThreadSynchronize()中にエラーがキャッチされていることを確認しています。メッセージは「launch_closure_by_value」です。

4

1 に答える 1

1

私はそれを考え出した。およびタグが__host__ありませんでした。__device__

struct greater_than_four
{
__host__ __device__
    bool operator()(int x)
    {
        return x > 4;
    }
};
于 2012-05-04T20:14:34.603 に答える