3

CUDA の Unified Virtual Addressing (UVA) の概念を理解しようとしています。2 つの質問があります。

  1. この概念を示すサンプル (疑似) コードはありますか?

  2. UVA は 64 ビット オペレーティング システムでのみ使用できることを CUDA C プログラミング ガイドで読みました。なぜそうなのですか?

4

1 に答える 1

7

統合仮想アドレス空間は、デバイス コードで使用されるポインター (値) および割り当てマッピングを、ホスト コードで使用されるポインター (値) および割り当てマッピングと組み合わせて、単一の統合空間にします。

1-この概念を示すサンプル (疑似) コードはありますか?

これがどのように使用されるかの 1 つの例は、操作の代わりに、または操作でcudaMemcpyDefault 転送種類指定子を使用することです。cudaMemcpyDeviceToHostcudaMemcpyHostToDevicecudaMemcpy

2-また、64ビットオペレーティングシステムにのみ関連付けられているプログラミングガイドを読みました。なぜそうなのですか?

32 ビット マシンには、最大 4 ギガバイトのアドレス可能なスペースがあります。最新の GPU (おそらく数ギガバイトのメモリを搭載) や最新の PC (おそらく数ギガバイトのメモリと I/O スペースを搭載) では、ホストとデバイスの両方のメモリ スペースを定義するのに十分なスペースではありません。

于 2013-10-04T17:15:46.130 に答える