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