web-dev-qa-db-ja.com

グラフィックメモリをRAMとして使用するにはどうすればよいですか?

グラフィックカードは大量のRAM(0.5GiBから2GiB)を提供し、GPUへのAPIアクセスは [〜#〜] cuda [〜# 〜]Stream およびよりポータブル OpenCL グラフィックメモリをRAMとして使用できるかどうか疑問に思いました。グラフィックスRAM(CPUからの)レイテンシーはrealRAMただし、HDDよりも確実に高速であるため、キャッシュに最適である可能性があります。

グラフィックメモリに直接アクセスすることはできますか、または少なくとも独自のアプリケーション内の薄いメモリ管理レイヤーを使用して(OSで無料で使用できるのではなく)アクセスできますか?もしそうなら、これを行うための好ましい方法は何ですか?

20
mbx

はい、Linuxのスワップメモリ​​として使用できます。詳細については、リンク ここ を参照してください。

Linuxでは、スワップスペースとして、またはRAMディスクとして)使用することができます。

警告

自宅のコンピューターに高速スワップまたはRAMディスクがあるのは良いことですが、X用のバイナリドライバーがロードされていると、システム全体がフリーズしたり、グラフィックの不具合が発生したりする可能性があることに注意してください。通常はありません。使用できるメモリ量をドライバーに通知する方法であるため、上限はわかりません。ただし、ビデオを設定できるため、VESAドライバーを使用できますRAM size 。

したがって、直接レンダリングまたは高速スワップ。あなたの選択。

マザーボードRAMやハードドライブとは異なり、ECCメモリを搭載した既知のビデオカードはありません。これはグラフィックスレンダリングにとって大したことではないかもしれませんが、絶対に批判的にしたくはありません。その中のデータまたはサーバーでこの機能を使用します。

11
footy