Я пытаюсь инициализировать OpenCL 2.0 на AMD Fury X, и я смотрю на значение __OPENCL_VERSION__
. 120 независимо от того, что. Я просматриваю свой водитель, и там есть #define __OPENCL_VERSION__ 120
и #define __OPENCL_VERSION__ 200
.OpenCL 2.0 на AMD GPU
Должен ли быть специальный флаг где-нибудь, чтобы включить версию 2.0? У меня есть следующие платформы и устройства:
платформыOpenCL 'AMD Accelerated Parallel Processing' на Advanced Micro Devices, Inc., версия OpenCL 2.0 AMD-APP (1912,5), FULL_PROFILE
устройства: Advanced Micro Devices, Inc. . 'Фиджи' (версия драйвера: 1912,5 (VM))
OpenCL версии: OpenCL 2.0 AMD-APP (1912,5)
OpenCL "C" версия: OpenCL C 2,0
EDIT
Ах, глупый. Кажется, это помогает указать -cl-std=CL2.0
в параметрах компилятора в clCreateProgramWithSource
. Предполагается, что это ожидаемое поведение?
Должно быть, сложнее в отношении Google. У меня есть другая проблема, когда она скомпилирована таким образом и сохраняет двоичный файл, 'clCreateProgramWithBinary()' сбой приложения (некоторое нарушение доступа внутри вызова). У вас есть какой-то опыт? Хорошо работает без '-cl-std = CL2.0'. –
Нет личного опыта, но любая авария, подобная этому, звучит как ошибка для меня. Лучше всего поднимите ошибку с AMD прямо для этого. – jprice
Хорошо, спасибо. Я посмотрю, смогу ли я сообщить им об этом. –