NVIDIA CUDA 4.0 (здесь подразумевается RC2) предлагает приятную функцию блокировки страниц в диапазоне памяти, который был выделен ранее с помощью «нормальной» функции malloc. Это можно сделать с помощью функции API драйвера:
CUresult cuMemHostRegister (void * p, size_t bytesize, unsigned int Flags);
Теперь разработка проекта была завершена с использованием API времени выполнения. К сожалению, похоже, что API времени выполнения не предлагает такую функцию, как cuMemHostRegister. Я действительно хотел бы избежать смешивания вызовов драйвера и API во время выполнения.
Кто-нибудь знает, как заблокировать страницу памяти, которая была ранее выделена с помощью стандартного malloc? Стандартные функции libc не должны использоваться, поскольку блокировка страницы выполняется для подготовки памяти для быстрой передачи в графический процессор, поэтому я действительно хочу придерживаться пути "CUDA".
Frank