私は流体の流れをモデル化する粒子法であるSmoothed Particle流体力学を実装するファイルをいくつか持っています。同等のCPU専用機能を置き換えるためのCUDAカーネルの作成
これらの粒子技術において最も時間のかかる構成要素の1つは、シミュレーションの各時間ステップで各粒子について最も近い近傍(K最近傍またはレンジ探索)を見つけることである。
今は、現在のCPUベースのネイバー検索ルーチンを置き換えて、GPUとCUDAを使用してネイバー検索ルーチンを高速化したいだけです。シミュレーションの残りの部分がCPU上で進行する間に、ネイバー検索だけがGPU上で実行されます。
私の質問は、コード全体をコンパイルするにはどうしたらよいですか?具体的には、近隣探索カーネル関数をファイルnsearch.cu
に書き込むとします。
それから私は.cu
ファイルとしてすべての私の以前の.cpp
ファイルの名前を変更する必要がありとnvcc
を使用して(nsearch.cuと一緒に)セット全体を再コンパイルしますか?簡単な例では、少なくともnvcc はで拡張子が.cpp
、つまりnvcc foo.cu
のCUDAコードをコンパイルできませんが、nvcc hello.cpp
ではコンパイルできません。
要するに、このCUDAプラグインの構造はどうなっていますか、それをコンパイルするにはどうすればいいですか?
私はUbuntu Linuxの10.10、CUDA 4.0、NVIDIA GTX 570(計算能力を2.0)とあなたがnsearch.cuファイルを書いて、でそれをコンパイルする必要が私の仕事