我正在做推力transform_reduce,需要從函子內部訪問thrust :: device_vector。我不是迭代device_vector。它允許我聲明函子,傳入device_vector引用,但不會讓我對它進行引用,無論是使用begin()還是operator []。如何從推力函數中取消引用thrust :: device_vector?
1> C:\ Program Files \ NVIDIA GPU計算工具包\ CUDA \ v6.5 \ include \ thrust/detail/function.h(187):警告:調用主機函數(「thrust :: detail :: vector_base> ::操作符[] 「從主機設備功能)(」 推力::詳細:: host_device_function ::運算符()「)是不允許
我假設我就可以傳入基指針並自己執行指針數學,但有沒有原因不支持?
你需要的'your_vector.data結果通過() '。 CUDA'__device__'函數通常不能取消引用宿主指針,所以嘗試給functor提供'your_vector'的引用是沒有意義的。 –