CUDA を介して、小さな C++ コードベースをグラフィックス カードの callable に移植しています。__host__ __device__
CUDA では、CPU と GPU カーネル コードの両方で呼び出し可能にするために、すべての関数を先頭に追加する必要があります。例えば、
void foo() {} // callable on CPU, not on GPU
__host__ __device__ foo() {} // callable on CPU and on GPU
コードベースのすべての__host__ __device__
関数に追加するのは面倒ですが簡単な作業ですが、C/C++ 関数の前に修飾子を追加する効率的な方法はありますか?
すべての関数宣言を検出するテキスト エディター手法、またはコンパイラー機能があれば幸いです。ただし、どちらかを含む解決策は知りません。
アイデア?