Obserwuję znaczne przyspieszenia przesyłania danych, gdy używam pamięci przypiętej do przesyłania danych CUDA. W Linuksie podstawowym wywołaniem systemowym służącym do osiągnięcia tego jest mlock. Ze strony podręcznika man mlocka stwierdza, że zablokowanie strony zapobiega jej zamianie:
mlock () blokuje strony w zakresie adresów zaczynając od addr i kontynuując przez len bajtów. Gwarantujemy, że wszystkie strony, które zawierają część określonego zakresu adresów, będą rezydowały w pamięci RAM, gdy połączenie powróci;
Podczas moich testów miałem kilka gigabajtów wolnej pamięci w moim systemie, więc nigdy nie było żadnego ryzyka, że strony pamięci mogły zostać wymienione, a mimo to nadal obserwowałem przyspieszenie. Czy ktoś może wyjaśnić, co się tu naprawdę dzieje? Wszelkie spostrzeżenia lub informacje są bardzo mile widziane.