1
我想使用thrust::reduce
找到陣列A.然而,A[i]
應僅被選擇爲最大的最大值,如果它也滿足在另一個數組B中的特定布爾條件的應用減少操作例如,B [i]應該是真的。他們的推力::減少版本是這樣做的。我查看了文檔,發現只有以下API;使用推力受布爾條件
thrust::reduce(begin,end, default value, operator)
但是,我很好奇他們的一個版本更適合我的問題嗎?
編輯:編譯失敗,在最後一行!
typedef thrust::device_ptr<int> IntIterator;
typedef thrust::device_ptr<float> FloatIterator;
typedef thrust::tuple<IntIterator,FloatIterator> IteratorTuple;
typedef thrust::zip_iterator<IteratorTuple> myZipIterator;
thrust::device_ptr<int> deviceNBMInt(gpuNBMInt);
thrust::device_ptr<int> deviceIsActive(gpuIsActive);
thrust::device_ptr<float> deviceNBMSim(gpuNBMSim);
myZipIterator iter_begin = thrust::make_zip_iterator(thrust::make_tuple(deviceIsActive,deviceNBMSim));
myZipIterator iter_end = thrust::make_zip_iterator(thrust::make_tuple(deviceIsActive + numRow,deviceNBMSim + numRow));
myZipIterator result = thrust::max_element(iter_begin, iter_end, Predicate());
什麼是<0>(lhs)的意思。另外,如果if條件評估爲false,會發生什麼情況? – Programmer
@程序員對不起,它應該是'thrust :: get <0>(lhs)'。這裏描述http://thrust.github.com/doc/group__tuple.html#ga4512fb8e91a457663ce15cb72b5ccd9e –
如果if條件的計算結果爲false會發生什麼? – Programmer