Я наблюдаю значительные ускорения при передаче данных, когда я использую фиксированную память для передачи данных CUDA. В linux основной системный вызов для достижения этого - mlock. С man-страницы mlock говорится, что блокировка страницы не позволяет ее выгружать:
mlock() блокирует страницы в диапазоне адресов, начиная с addr и продолжая для len байтов. Все страницы, которые содержат часть указанного диапазона адресов, гарантированно будут находиться в ОЗУ при успешном завершении вызова;
В моих тестах у меня было несколько концертов свободной памяти в моей системе, поэтому никогда не было риска, что страницы памяти могли бы быть заменены, но я все еще наблюдал ускорение. Может кто-нибудь объяснить, что на самом деле происходит здесь?, какое-либо понимание или информация очень ценятся.