2

CUDA で存在する関数を使用したいのですが、多くのクラスと他の関数が含まれています。すべての関数の前に追加__host__ __device__するのは簡単です。それで、これを行う自動方法はありますか?または、どのように nvcc にすべての関数をコンパイルさせるの__device__ __host__ですか?

4

1 に答える 1

0

基本的に、GPU プログラミングは大規模な並列処理がすべてです。これは、通常のシングル スレッド プログラミングとはまったく異なるパラダイムです。これらの関数を大きな配列の個々の要素に同時に適用したいだけでない限り、GPU にコーディングするメリットはありません。実際、GPU コア クロックはプロセッサよりもはるかに遅いです。主に CPU を対象として書かれた関数をシングル スレッド フレーバーで GPU にコンパイルすると、パフォーマンスが低下する可能性があります。問題を GPU パラダイムに再考する必要があります。

于 2013-04-24T00:58:56.457 に答える