Разработчики опубликовали инструментарий nbd-vram, который позволяет разместить область подкачки в видеопамяти графической карты Nvidia. Это даёт возможность виртуально увеличить размер памяти в системе, работающей на ноутбуках с впаянной нерасширяемой оперативной памятью и GPU Nvidia. 

Код написан на языке Си и распространяется под лицензией MIT.

Так, на ноутбуке с 16 ГБ ОЗУ и видеокартой Nvidia GeForce RTX 3070 с 8 ГБ VRAM через раздел подкачки можно задействовать дополнительные 7 ГБ памяти. В итоге вместе с применением модуля ядра zram для сжатого хранения раздела подкачки и подключением дополнительного раздела подкачки на SSD-накопителе общий размер адресуемой памяти в тестовой конфигурации дойдёт до 46 ГБ. Производительность работы с видеопамятью при последовательном чтении оценивается примерно в 1.3 GB/s и задержками ниже NVMe из-за обращения к GPU по шине PCIe.

Инструмент применяет фоновый процесс nbd-vram, который выделяет VRAM через API драйвера CUDA и предоставляет системе доступ к полученной видеопамяти в форме блочного устройства на базе протокола NBD (Network Block Device). В ядре Linux используется встроенный драйвер nbd без загрузки собственных специализированных модулей. В блочном устройстве /dev/nbdX, связанном с выделенной видеопамятью, штатными утилитами создаётся раздел подкачки.

Инсталлятор и сервис systemd "vram-swap-nbd.service" позволяют запустить конфигурацию автоматически. Пользователю достаточно задать размер выделяемой видеопамяти и приоритет подкачки через переменные VRAM_SETUP_SIZE_MB и VRAM_SWAP_PRIORITY. Дополнительно предусмотрена опция для активации подкачки в видеопамяти только при подключении ноутбука к стационарному источнику питания. 

Для работы nbd-vram требуется графический процессор Nvidia c поддержкой CUDA, фирменный драйвер с библиотекой libcuda.so.1, ядро Linux новее 3.0 и пакет nbd-client.