2010-08-22 7 views

ответ

7

Да, используйте clCreateBuffer с флагами, содержащие один из:

  • CL_MEM_USE_HOST_PTR
  • CL_MEM_ALLOC_HOST_PTR

Что делает то, что вы хотите. Для получения дополнительной информации посетите страницу пользователя clCreateBuffer.

+0

Извините, я не уточнил правильно - прочитал о вариантах thouse, но CL_MEM_USE_HOST_PTR можно кэшировать в памяти устройства - это не разрешено для моей задачи. CL_MEM_ALLOC_HOST_PTR - «выделить память из доступной памяти хоста ...» - будет ли эта память доступна с устройства? cudaHostGetDevicePointer использует необработанную DMA через шину, поскольку я знаю - хотел бы найти что-то похожее – ShPavel

+2

Нет ничего 100% -ного подобного, OpenCL намного более общий, чем CUDA. Все буферы CL доступны со стороны устройства, включая те, которые назначены с помощью CL_MEM_ALLOC_HOST_PTR. –