Как использовать графическую память в качестве ОЗУ?

Поскольку графические карты предоставляют большие объемы оперативной памяти (от 0,5 ГБ до 2 Гбит), а доступ API к графическому процессору не так сложно с CUDA, Stream и более портативный OpenCL Я задавался вопросом если можно использовать графическую память в качестве ОЗУ. ОЗУ Grahics может иметь большую задержку (от CPU), чем реальную ОЗУ, но ее скорость выше, чем HDD, поэтому она может быть оптимальной для кэширования.

Возможно ли получить доступ к графической памяти напрямую или, по крайней мере, с помощью слоя управления тонкой памятью в собственных приложениях (а не для бесплатного использования для ОС)? Если да, то какой предпочтительный способ сделать это?

Ответы

Ответ 1

Да, вы можете использовать его в качестве подкачки памяти в Linux. Обратитесь к ссылке здесь для более подробной информации.

В Linux его можно использовать как пространство подкачки или даже как RAM-диск.

Имейте в виду

Приятно иметь быструю замену или RAM-диск на вашем домашнем компьютере, но будьте осторожны, если двоичный драйвер загружен для X, он может заморозить всю систему или создать графические сбои. Обычно нет способа сообщить драйверу, сколько памяти можно использовать, поэтому он не будет знать верхний предел. Тем не менее, драйвер VESA можно использовать, поскольку он предоставляет возможность установить размер видеопамяти.

Итак, прямой рендеринг или быстрый обмен. Твой выбор.

В отличие от оперативной памяти материнской платы и жестких дисков, нет известных видеокарт с ECC-памятью. Это может не иметь большого значения для графического рендеринга, но вы определенно не хотите помещать в него важные данные или использовать эту функцию на серверах.