Если раскрыта строка расширения cl_arm_import_memory_host
Это означает, что вам необходимо проверить свойство CL_DEVICE_EXTENSIONS
вашего устройства OpenCL с помощью функции clGetDeviceInfo()
. Разделите возвращенную строку на имена расширений (они разделены пробелами), затем проверьте, является ли "cl_arm_import_memory_host"
одной из этих строк.
Обратите внимание, что рассматриваемое расширение состоит из нескольких различных подфункций:
cl_arm_import_memory
cl_arm_import_memory_host
cl_arm_import_memory_dma_buf
cl_arm_import_memory_protected
cl_arm_import_memory
будет сообщено, если по крайней мере одна из других строк расширения также сообщается.
Так что, если ваша реализация поддерживает импорт памяти host , она отобразит и cl_arm_import_memory
и cl_arm_import_memory_host
.
Если поддерживается правильная функция, вам, вероятно, потребуется получить указатель на clImportMemoryARM()
функцию *1039* расширения , вызвав clGetExtensionFunctionAddressForPlatform
.
Затем используйте функции расширения, описанные в документации.