これは CUDA Global Memory へのフォローアップの質問です。それはどこですか? GSmith の回答を参照してください。これらの Q は、CC > 2.0 のケースに対処します。
Nvida カードの仕様を調べると、2GB の「メモリ」がリストされています。これがこのカードの「グローバル」メモリであると信じるようになりました。つまり、これは「オフチップ」に常駐する GDDR3 メモリですが、カード上にあります。これは正しいでしょうか?
spec'd 'memory' がゼロのケースは見当たりません。存在しますか?つまり、オフチップ メモリのないカードを使用できますか? その中で、すべてのテクスチャ、ローカル、および定数メモリは、実際には固定およびマップされたホスト メモリに存在します。
2GB を超えるホスト メモリを固定して、グローバル メモリの使用量を増やすことはできますか? オフチップ グローバル メモリ (2GB) をすべて使用して、さらにグローバル固定メモリを追加 (1GB) できますか? それとも、このカードは最大 2GB のアドレス空間しか使用できないことを理解する必要がありますか? つまり、2 GB のメモリ、unPinned、Pinned、Mapped、または任意の組み合わせにしかアクセスできません。
デバイスがピン留めされたホスト メモリ (マップされていない) を使用している場合、dev からホストに Memcpy する必要がありますか? つまり、メモリは物理的にホスト側にあります。そして、それはデバイスによって使用されているため、両方がそれを見ることができます. すでにホストにあるのに、なぜホストにコピーする必要があるのですか。デフォルトで「マッピング」されているようです。(この二重アクセスを妨げているメカニズムは何ですか?)
共有メモリをグローバルメモリにマッピングするにはどうすればよいですか? (私はドキュメントでこれについての言及を見つけていません。) これは「マップされた」配置ですか、それともグローバルから共有にコピーして、もう一度戻す必要がありますか? (これにより、コピーの手順を省くことができますか?)