Я следую инструкциям этого SO-ответа, но когда я пытаюсь запустить полученный файл PTX, я получаю следующую ошибку в clBuild
ptxas fatal : Unresolved extern function 'get_group_id'
В файле PTX для каждого вызова функции OpenCL я использую следующее:
.func (.param .b64 func_retval0) get_group_id
(
.param .b32 get_group_id_param_0
)
;
Вышеописанное не содержится в файлах PTX, созданных во время выполнения OpenCL, когда я предоставляю ему файл CL. Вместо этого он имеет собственный специальный регистр.
Следуя этим инструкциям (ссылки на другую библиотеку libclc) дает мне ошибку сегментации во время компиляции LLVM IR to PTX со следующей ошибкой:
fatal error: error in backend: Cannot cast between two non-generic address spaces
Сохраняются ли эти инструкции? Есть ли что-то еще, что я должен делать?
Я использую последнюю версию libclc, Clang 3.7 и драйвер Nvidia 352.39