もちろん、ローカルメモリは仮想ではなく物理であるため、あります。
私たちは、CPU 上の仮想アドレス空間を操作することから、理論的には必要なだけのメモリを確保するために使用されています。ページング ファイル / スワップ パーティションが不足しているために、非常に大きなサイズで失敗する可能性があります。メモリを使いすぎて、物理 RAM とディスクにマップできなくなります。
これは、実際の RAM の特定の領域にアクセスする必要があるコンピューターの OS カーネル (またはその下位レベルの部分) などには当てはまりません。
GPU のグローバル メモリとローカル メモリの場合も同様です。*メモリー・ページング (認識されたスレッド・アドレスを物理メモリー・アドレスに再マッピングすること)はありません。そしてスワップなし。特にローカル メモリに関しては、すべての計算ユニット (= GPU 上のすべての対称型マルチプロセッサ) には、ローカル メモリとして使用される RAM の束があります。ここの緑のスラブ:

そのような各スラブのサイズは、あなたが得るものです
clGetDeviceInfo( · , CL_DEVICE_LOCAL_MEM_SIZE, · , ·)
.
たとえば、nVIDIA Kepler GPU では、ローカル メモリ サイズは 16 KB または 48 KB です (64 KB の補数は、グローバル メモリへのアクセスをキャッシュするために使用されます)。そのため、現在、GPU ローカル メモリはグローバル デバイス メモリに比べて非常に小さいです。
1 - Pascal アーキテクチャ以降の nVIDIA GPU では、ページングがサポートされています。しかし、それはデバイス メモリを使用する一般的な方法ではありません。