CUDA のThrust ライブラリのドキュメントによると、次の4 つのパラメーターthrust::inclusive_scan()
があります。
OutputIterator thrust::inclusive_scan(InputIterator first,
InputIterator last,
OutputIterator result,
AssociativeOperator binary_op
)
ただし、(同じドキュメントの) 使用法のデモでは、5 つのパラメーターを渡します。追加の 4 番目のパラメーターが、スキャンの初期値として渡されます (まったく同じようにthrust::exclusive_scan()
)。
int data[10] = {-5, 0, 2, -3, 2, 4, 0, -1, 2, 8};
thrust::maximum<int> binary_op;
thrust::inclusive_scan(data, data + 10, data, 1, binary_op); // in-place scan
現在、私のコードは 4 つのパラメーターを渡してコンパイルするだけです (5 を渡すとエラーが発生no instance of overloaded function "thrust::inclusive_scan" matches the argument list
します) が、例のようにローリング最大値を初期化する必要があります。
包括的スキャンを初期化する方法を明確にすることはできますか?
どうもありがとう。