17

__device__誰かが、CUDA 4.2から呼び出された場合、または__global__CUDA 4.2でコーディングした場合に、newキーワードとdeleteキーワードがどのように動作するかを明確に説明できますか?

デバイス上のメモリがローカルまたはグローバルの場合、メモリはどこに割り当てられますか?

GPU上にニューラルネットワークを作成しようとしている問題のコンテキストの観点から、リンクされた表現が必要です(リンクリストのように、各ニューロンは重みを保持する接続のリンクリストと他のニューロンへのポインターを格納します)、カーネルの起動前にを使用して割り当てることができることは知ってcudaMallocいますが、ネットワークを作成する方法とタイミングをカーネルで制御したいと思います。

ありがとう!

4

1 に答える 1

23

C++newでありdelete、デバイス ヒープ メモリで動作します。このデバイスでは、グローバル (オンボード) メモリの一部をこの方法で割り当てることができます。 newおよびdeviceおよび とdelete同様に機能します。mallocfree

ランタイム API 呼び出しを使用して、ヒープに使用できるデバイス グローバル メモリの量を調整できます。

C++の new/delete サンプル コードにも興味があるかもしれません。

これらの機能には CC 2.0 以降が必要です。

于 2013-01-19T18:31:50.477 に答える