Закрепили память OpenCL, кто-нибудь успешно ее использовал? - PullRequest
3 голосов
/ 20 октября 2010

Я использовал флаг CL_MEM_ALLOC_HOST_PTR с моими clCreateBuffer вызовами, но Compute Profiler показывает все мои "типы передачи сообщений хоста" как Pageable. Я попробовал это в двух разных установках ядра, но профилировщик не показал бы, что я использовал закрепленную память.

Действительно ли случайно, когда ядро ​​использует закрепленную память? Это чем-то ограничено? Я предполагаю, что размер буфера имеет значение. Я попробовал один буфер размером 10 000 с плавающей запятой, и я все еще получил Pageable память. Дайте мне знать, что вы все думаете.

1 Ответ

2 голосов
/ 20 ноября 2010

Если вы посмотрите руководство по программированию OpenCL (3.1), в разделе 3.3.1 будет упомянуто, что OpenCL теперь контролирует объекты памяти, закрепленные или нет. Вы можете только ПОПРОБОВАТЬ, чтобы создать их, используя CL_MEM_ALLOC_HOST_PTR.

...