1
私はC++でstring
データ型を使用しているCUDAカーネルを作成しています。ただし、コンパイラは次のエラーをスローしています。文字列データ型をC++ CUDAカーネルで使用できますか?
error: calling a host function("std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator =") from a __device__/__global__ function("doDecompression") is not allowed
カーネル内では文字列は使用できませんか?そうでない場合は、カーネル内のchar配列にスペースを割り当てる回避策は何ですか?
カーネル関数でC文字列を使用する –
@PaulR:C++文字列をカーネルに渡しているとします。 CUDAはこれについて不平を言っていません。これをカーネル内のC文字列にキャストするにはどうすればよいですか?例 – Programmer
根底にあるデータをカーネルに渡すだけです。 'string :: c_str()'メソッドを使用して、ホストコード内のCデータへのポインタを抽出し、カーネル関数に渡します。 –