В CUDA мы можем использовать закрепленную память для более эффективного копирования данных с хоста на графический процессор, чем память по умолчанию, выделенная через malloc на хосте. Однако существует два типа закрепленных запоминающих устройств: закрепленное запоминающее устройство по умолчанию и закрепленное запоминающее устройство с нулевой копией .
По умолчанию закрепленная память копирует данные с хоста на графический процессор в два раза быстрее, чем обычные передачи, поэтому, безусловно, есть преимущество (при условии, что у нас достаточно памяти хоста для блокировки страницы)
В другой версии закрепленной памяти, то есть память с нулевым копированием , нам не нужно полностью копировать данные с хоста в DRAM GPU. Ядра считывают данные непосредственно из памяти хоста.
У меня вопрос: какой из этих типов закрепленной памяти является лучшей практикой программирования.