8

最近はスラストを多用しています。スラストを使用するには、常に CPU メモリから GPU メモリにデータをコピーする必要があることに気付きました。
次の例を見てみましょう。

int foo(int *foo)
{
     host_vector<int> m(foo, foo+ 100000);
     device_vector<int> s = m;
}

コンストラクターがどのように機能するかはよくわかりませんhost_vectorが、からの初期データを*foo2回コピーしているようです-1回は初期化時にhost_vectorに、もう1回device_vectorは初期化時に。中間データのコピーを作成せずに CPU から GPU にコピーするより良い方法はありますか? ラッパーとして使用できることはわかってdevice_ptrいますが、それでも問題は解決しません。
ありがとう!

4

1 に答える 1