CUDA 데이터 전송을 위해 고정 된 메모리를 사용할 때 데이터 전송 속도가 상당히 빨라집니다. Linux에서이를 달성하기위한 기본 시스템 호출은 mlock입니다. mlock의 man 페이지에서 페이지를 잠그면 교체되는 것을 방지한다고 명시되어 있습니다.
mlock ()은 addr에서 시작하여 len 바이트 동안 계속되는 주소 범위의 페이지를 잠급니다. 호출이 성공적으로 반환되면 지정된 주소 범위의 일부를 포함하는 모든 페이지가 RAM에 상주합니다.
내 테스트에서 시스템에 몇 기가의 여유 메모리가 있었으므로 메모리 페이지를 교체 할 수있는 위험이 없었지만 여전히 속도 향상을 관찰했습니다. 누구든지 여기서 실제로 무슨 일이 일어나고 있는지 설명 할 수 있습니까?, 어떤 통찰력이나 정보라도 대단히 감사합니다.