私はここにあるコードを適合させようとしています: https://wiki.tiker.net/PyCuda/Examples/ThrustInterop ... cudaストリームを使用しています。ストリームを使用してThrustを実行するPyCuda
(Iは、C++に新たなんだ、とだけCUDAと数週間の経験を持っていることを言い訳してください。)
私の主な試みとスティッキングポイントが受信するので、同じようNVCC機能を調整するの線に沿ってきましたスラストコールへCUDAの引数としてストリーム、および供給:
nvcc_function = FunctionBody(
FunctionDeclaration(Value('void', 'my_sort'),
[Value('CUdeviceptr', 'input_ptr'),
Value('int', 'length'),
Value('cudaStream_t','stream')]),
Block([Statement('thrust::device_ptr<float> thrust_ptr((float*)input_ptr)'),
Statement('thrust::sort(thrust::cuda::par.on(stream),thrust_ptr, thrust_ptr+length)')]))
私は「宣言されていない 『cudaStream_t』」エラーを取得しています(NVCC関数の引数を参照)。
私はホストとデバイスの両方のリストに 'cuda_runtime.h'を追加しようとしましたが、役に立たなかった。
ありがとうございます。 まだこの全体的な問題を解決しようとしていますが、関数の引数を 'CUstream'に置き換えることは、少なくともエラーを取り除いています。 – FunkyOne
うれしい – Addy